Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by Brangakmeniai ( 15 years ago )
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const char duomenu_failas[] = "pradiniai_duomenys.txt";
//raudonuju ir melynuju brangakmeniu skaiciai
int r_skaic, m_skaic;
//pavogtu brangakmeniu skaiciai
int aps_r_skaic, aps_m_skaic;
//brangakmeniu masyvai
int r_brang[9999];
int m_brang[9999];
//Funkciju aprasymai
void surasti_galimus_nuostolius();
void nuskaityti_faila();
//main metodas
int main(int argc, char *argv[])
{
//nuskaitome faila
nuskaityti_faila();
//surandame galimus nuostolius
surasti_galimus_nuostolius();
system("PAUSE");
return EXIT_SUCCESS;
}
//metodamas apskaiciuojantis didziausius galimus nuostolius
void surasti_galimus_nuostolius()
{
//surikiuojam masyvus, kad galetume is ju galo pasiimti brangiausius brangakmenius
sort(r_brang, r_brang + r_skaic);
sort(m_brang, m_brang + m_skaic);
//pavogtu brangakmeniu kaina
int kaina = 0;
//surandam kokius brangiausius raudonuosiu brangakmenius galejo pavogti
//ir pridedam prie kainos
for(int i = r_skaic - 1; i >= r_skaic - aps_r_skaic; i--)
{
kaina += r_brang[i];
}
//surandam kokius brangiausius melynuosius brangakmenius galejo pavogti
//ir pridedam prie kainos
for(int j = m_skaic - 1; j >= m_skaic - aps_m_skaic; j--)
{
kaina += m_brang[j];
}
//atvaizduojam kaina
cout << kaina << endl;
}
//failo nuskaitymo metodas
void nuskaityti_faila()
{
//df - duomenu failas
ifstream df(duomenu_failas);
//patikrinam ar eina atidaryti faila
if (!df.is_open()) {
cout << "Neina nuskaityti failo";
return; //tai nieko negrazinantis metodas, bet return; naudojam sustabdyti jo vykdyma.
}
//duomenu nuskaitymas
df >> r_skaic; df >> m_skaic;
df >> aps_r_skaic; df >> aps_m_skaic;
//duomenu patikra
if(aps_r_skaic > r_skaic || aps_m_skaic > m_skaic || aps_m_skaic > 9 || r_skaic > 10000 || m_skaic > 10000)
{
cout << "Duomenu faile yra klaidu (perzengti ribojimai), prasome patikrinti faila." << endl;
return;
}
//nuskaitom raud. branh. kainas
for(int i = 0; i < r_skaic; i++)
df >> r_brang[i];
//nuskaitom mel. brang. kainas
for(int j = 0; j < m_skaic; j++)
df >> m_brang[j];
//uzdarome faila
df.close();
}
Revise this Paste