Do napisania jest funkcja, która zwraca drugi największy element w tablicy t o rozmiarze rozmiar. W przypadku, gdy są dwa równe największe elementy należy zwrócic jeden z nich. Można założyc, że rozmiar>1.
To co udało mi się napisać, działa ale pod warunkiem że wszystkie elementy tablicy są różne. Czy mógłby Ktoś poprawić ten kod tak żeby było spełnione dla każde przypadku ? (również wtedy gdy są dwa największe elementy).
Z góry dzięki za pomoc!
Moje próby rozwiazania:
Kod: Zaznacz cały
int drugi (int* t, int rozmiar) {
int max=t[0];
for(int i=1; i<rozmiar; i++) {
if (t[i]>max)
max=t[i];
}
int maxx;
for(int i=1; i<rozmiar; i++) {
if (t[i]>maxx && t[i]<max)
maxx=t[i];
}
return maxx;
}
int main() {
int const n=100;
int t[n];
int s;
cout<< "POdaj rozmiar";
cin>>s;
cout<<"Podaj elementy tablicy: ";
for(int i =0; i<s; i++){
cin>> t[i];
}
drugi(t,s);
cout<<drugi(t,s);
system("pause");
}