Witam, po wpisaniu w pierwszym wierszu liczby 4 a w drugim czterech takich samych liczb program zwraca zero. Powie mi ktoś dlaczego tak się dzieje? Dla jasności program powinien zwracać 1.
#include <iostream>
#include <cstdlib>
long long int ilosc, max1, max2, max3, max4;
long long int wynik;
using namespace std;
int main()
{
cin >> ilosc;
long long int liczba[ilosc];
for (long long int i = 0; i < ilosc; i++) {
cin >> liczba[i];
}
for (long long int i = 0; i < ilosc; i++) {
if (liczba[i] > max1)
max1 = liczba[i];
}
for (long long int i = 0; i < ilosc; i++) {
if (liczba[i] == max1)
liczba[i] = 0;
if (liczba[i] > max2)
max2 = liczba[i];
}
for (long long int i = 0; i < ilosc; i++) {
if (liczba[i] == max2)
liczba[i] = 0;
if (liczba[i] > max3)
max3 = liczba[i];
}
for (long long int i = 0; i < ilosc; i++) {
if (liczba[i] == max3)
liczba[i] = 0;
if (liczba[i] > max4)
max4 = liczba[i];
}
wynik = max4 * max4;
if (ilosc < 4) {
cout << "0" << endl;
}
else
cout << wynik << endl;
system("pause");
return 0;
}