Marcinxxl2 Temat założony przez niniejszego użytkownika |
Lekcja 22 - 3 zadanie » 2014-08-21 01:10:49 Hejka, mam mały problem z 3 zadaniem z 22 lekcji. Chodzi o to, że zostaje wyświetlone tylko 9 liczb "od przodu", zamiast 10. Liczby "od tył" działają poprawnie. #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wylosujLiczby( int t[], int i ) { for( int test = 0; test <= i; test++ ) { t[ test ] =( rand() % 21 ) + 10; } } void wypiszTablice( int t[], int i ) { for( int test = 0; test < i; test++ ) { cout << "Liczby: " << t[ test ] << endl; } } void wypiszTabliceOdTylu( int t[], int i ) { for( int test = i; test > 0; test-- ) { cout << "Liczby od tylu: " << t[ test ] << endl; } } int znajdzMinimum( int t[], int i ) { int mn = t[ 0 ]; for( int test = 1; test < i; test++ ) { if( mn < t[ test ] ) { mn = t[ test ]; } } return mn; } int znajdzMaksimum( int t[], int i ) { int mx = t[ 0 ]; for( int test = 1; test < i; test++ ) { if( mx > t[ test ] ) { mx = t[ test ]; } } return mx; } void wypiszMinMax( int mn, int mx ) { cout << mn << endl; cout << mx << endl; } int main() { srand( time( NULL ) ); int tablica[ 10 ]; wylosujLiczby( tablica, 10 ); wypiszTablice( tablica, 10 ); wypiszTabliceOdTylu( tablica, 10 ); int iMin = znajdzMinimum( tablica, 10 ); int iMax = znajdzMaksimum( tablica, 10 ); wypiszMinMax( iMin, iMax ); return 0; }
|
|
Mateus. |
» 2014-08-21 08:41:39 void wylosujLiczby( int t[], int i ) { for( int test = 0; test <= i; test++ ) { t[ test ] =( rand() % 21 ) + 10; } } Wychodzisz poza zakres tablicy. |
|
1aam2am1 |
» 2014-08-21 08:59:15 void wypiszTabliceOdTylu( int t[], int i ) { --i; for( int test = i; test > 0; test-- ) { cout << "Liczby od tylu: " << t[ test ] << endl; } }
|
|
pekfos |
» 2014-08-21 11:12:42 Wychodzisz poza zakres tablicy. |
W wypiszTabliceOdTylu() też. |
|
Marcinxxl2 Temat założony przez niniejszego użytkownika |
» 2014-08-21 13:37:04 A teraz? Zmieniłem już, żeby zapisywał na tablicy od 0 do 9, a nie od 0 do 10, ale nadal to samo: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wylosujLiczby( int t[], int i ) { for( int test = 0; test < i; test++ ) { t[ test ] =( rand() % 21 ) + 10; } } void wypiszTablice( int t[], int i ) { for( int test = 0; test < i; test++ ) { cout << "Liczby: " << t[ test ] << endl; } } void wypiszTabliceOdTylu( int t[], int i ) { i--; for( int test = i; test >= 0; test-- ) { cout << "Liczby od tylu: " << t[ test ] << endl; } } int znajdzMinimum( int t[], int i ) { int mn = t[ 0 ]; for( int test = 1; test < i; test++ ) { if( mn < t[ test ] ) { mn = t[ test ]; } } return mn; } int znajdzMaksimum( int t[], int i ) { int mx = t[ 0 ]; for( int test = 1; test < i; test++ ) { if( mx > t[ test ] ) { mx = t[ test ]; } } return mx; } void wypiszMinMax( int mn, int mx ) { cout << mn << endl; cout << mx << endl; } int main() { srand( time( NULL ) ); int tablica[ 10 ]; wylosujLiczby( tablica, 10 ); wypiszTablice( tablica, 10 ); wypiszTabliceOdTylu( tablica, 10 ); int iMin = znajdzMinimum( tablica, 10 ); int iMax = znajdzMaksimum( tablica, 10 ); wypiszMinMax( iMin, iMax ); return 0; }
|
|
damian19dk |
» 2014-08-21 14:15:28 Twój program działa dobrze i wypisuje 10 liczb, ale wyświetlane dane nie "mieszczą" się w konsoli i przewija Ci o jeden wiersz. Przewiń konsolę do góry i zobacz. |
|
pekfos |
» 2014-08-21 14:17:09 Funkcja od minimum znajduje maksimum i na odwrót. |
|
Marcinxxl2 Temat założony przez niniejszego użytkownika |
» 2014-08-21 14:20:43 Och, głupi jestem, rzeczywiście ;p
Okej, dzięki za pomoc, a i rzeczywiście wyszukiwanie było pomieszane, dziwne, teraz jest ok.
|
|
« 1 » |