Bardzo proszę o zrobienie tego zadania..... Napisz program w c++, wyszykujący największą ilość miejsc w trzech salach znajdujących się obok siebie.,
Chodzi o to, że w pliku znajduje sie kilka liczb(czyli tych sal) i program ma znaleźć takie sale, których suma jest największa. Ale te sale (których suma miejsc jest największa) muszą być bezpośrednio obok siebie.
W pliku pierwsza liczba to ilość miejsc, a każda następna to ilość miejsc w danej sali.
Z góry dziękuję i dam NAJ...
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
ifstream myfile;
myfile.open("sale", ios::in);
if (!myfile) return -1;
vector<int> vals;
int val;
while ( myfile >> val) vals.push_back(val);
myfile.close();
int liczba_sal = vals[0];
int pojemnosc_trzech = 0;
int maks_pojemnosc = 0;
int numer_sali = 0;
for (int i = 1; i <= liczba_sal; i++)
{
pojemnosc_trzech += vals[i];
if (i > 3) pojemnosc_trzech -= vals[i-3];
if (pojemnosc_trzech > maks_pojemnosc)
{
numer_sali = i;
maks_pojemnosc = pojemnosc_trzech;
}
}
if (numer_sali == 1) cout << "Maks pojemnosc w sali 1" << endl;
if (numer_sali == 2) cout << "Maks pojemnosc w salach 1,2" << endl;
if (numer_sali >= 3)
cout << "Maksymalna sumaryczna pojemnosc " << maks_pojemnosc << " w salach "
<< numer_sali-2 << ", "
<< numer_sali-1 << ", "
<< numer_sali << endl;
return 0;
}