Wpis z mikrobloga

Ćwiczę sobie w ramach rozrywki programowanie w C++
Chcę napisać program, który w pierwszej kolejności poprosi użytkownika o podanie ilości liczb, które chce porównać, następnie wprowadzenie ich, a program na podstawie tego ma wskazać, która z wpisanych przez użytkownika liczb jest największa. Prosty i pozbawiony sensu program, ale chciałem do tego wykorzystać tablice, więc pojawił się problem. Mój kod wygląda następująco:

'#include

using namespace std;

int ile, m;
int *tablica;

int main()
{
cout << "Ile liczb porownac: ";
cin >> ile;

tablica = new int [ile];

for (int i=0; i> tablica[i];
}

for (int i=0; i m) m = tablica[i+1];
}

cout << "Najwieksza liczba to " << m;

delete [] tablica;

return 0;
}'

Druga pętla "for" rozsypuje wszystko, bo zmienia się wartość "i" - jak to poprawić? Czy w ogóle wykorzystuję dobrą metodę?

#programowanie #cplusplus
  • 5
1) jeżeli robisz "i+1" to musisz iterować do "ile-1" (wyjdziesz poza tablicę)
2) algorytm nie ma sensu, w każdej iteracji drugiej pętli for przypisujesz do maxa (zmienna m) wartość aktualnego iteratora i jeżeli następna wartość jest większa to przypisujesz do maxa jej wartość (co w następnym przebiegu i tak jest robione)