Rozdział 22 - najwiekszy element tablicy [rozwiazane]
Ostatnio zmodyfikowano 2016-10-25 11:24
majsterfun Temat założony przez niniejszego użytkownika |
Rozdział 22 - najwiekszy element tablicy [rozwiazane] » 2016-10-25 11:24:01 #include <iostream> #include <cstdio> #include <ctime> #include <cstdlib> using namespace std;
int wpisywanie_tablica( int t[], int n ) { int i = 0; do { t[ i ] =(( rand() % 80 ) + 1 ); i++; } while( i < n ); }
int wypisz( int t[], int n ) { int i = 0; cout << "Twoje liczby to: "; do { cout << t[ i ] << ", "; i++; } while( i < n ); }
int dodawanie_tablicy( int t[], int n ) { int i = 0; int suma = 0; do { suma = suma + t[ i ]; i++; } while( i < n ); cout << "Suma liczb: " << suma; }
int iMax( int t[], int n ) { int i = 0; int najwiekszy = 0; do { if( t[ i ] < t[ i++ ] ) najwiekszy = t[ i ]; i++; } while( i < n ); return najwiekszy; }
int main() { int p = 0; int iMaxi = 0; srand( time( NULL ) ); cout << "Podaj rozmiar tablicy" << endl; cin >> p; int tablica[ p ]; wpisywanie_tablica( tablica, p ); cout << endl; wypisz( tablica, p ); cout << endl; dodawanie_tablicy( tablica, p ); cout << endl; iMaxi = iMax( tablica, p ); cout << iMaxi; return 0; }
Według mnie wszystko powinno chodzić, dlaczego po wywołaniu programu zwraca mi wartość 0? Chodzi o tą funkcje: int iMax( int t[], int n ) { int i = 0; int najwiekszy = 0; do { if( t[ i ] < t[ i++ ] ) najwiekszy = t[ i ]; i++; } while( i < n ); return najwiekszy; }
Ok, problem rozwiązany, zmieniłem algorytm porównując resztę tablicy z jej pierwszym elementem int iMax( int t[], int n ) { int i = 0; int najwiekszy; najwiekszy = t[ 0 ]; do { if( t[ i ] > najwiekszy ) najwiekszy = t[ i ]; i++; } while( i < n ); return najwiekszy; }
|
|
« 1 » |