Program z funkcjami
Ostatnio zmodyfikowano 2013-02-23 19:24
Syriusz Temat założony przez niniejszego użytkownika |
Program z funkcjami » 2013-02-22 09:57:44 Przerabiam kurs i w jednym z tematow jest program do zrobienia. Napisałem coś takiego : #include <iostream> #include <ctime> #include <cstdlib>
using namespace std;
int wylosuj() { return( rand() % 21 ) + 10; }
void wpisanie_do_tablicy( int tablica[] ) { int i; for( i = 0; i < 10; ++i ) tablica[ i ] = wylosuj(); }
void wypisanie_liczb_z_tablicy( int tablica[] ) { int i; for( i = 0; i < 10; ++i ) cout << tablica[ i ] << endl; } void wpisanie_liczb_z_tablicy_odwrocoenj( int tablica[], int tablica2[] ) { for( int j = 0; j < 10; ++j ) { int i = 10; tablica2[ j++ ] = tablica[ i-- ]; } } void wypisanie_liczb_z_tablicy2( int tablica2[] ) { int i; for( i = 0; i < 10; ++i ) cout << tablica2[ i ] << endl; }
int main() { srand( time( NULL ) ); int tablica_wylosowanych[ 10 ]; int tablica_odwrocona[ 10 ]; int i; int j; wpisanie_do_tablicy( tablica_wylosowanych ); wypisanie_liczb_z_tablicy( tablica_wylosowanych ); cout << "Odwrocona tablica" << endl; wpisanie_liczb_z_tablicy_odwrocoenj( tablica_wylosowanych, tablica_odwrocona ); wypisanie_liczb_z_tablicy2( tablica_odwrocona ); return 0; }
Jest to program z zadania konca kursu 2. I nie za bardzo wiem dlaczego jak już wypisze tablice w poprawnej kolejnosci, to kolejna funkcja nie wypisuje jej w odwroconej kolejnosci. Prosze o pomoc, bo nie za bardzo moge tego rozgryzc. Z gory dziekuje za pomoc. Pozdrawiam. |
|
Adam3423 |
» 2013-02-22 12:22:04 void wpisanie_liczb_z_tablicy_odwrocoenj( int tablica[], int tablica2[] ) { for( int j = 0; j < 10; ++j ) { int i = 10; tablica2[ j++ ] = tablica[ i-- ]; } } po pierwsze: tablica2[j++]=tablica[i--]; - wymyśl sobie sposób żeby zapisać to w bardziej zrozumialy sposób bo to nie działa tak jak bys sobie życzył(ale jesteś blisko); po drugie: int i=10; - zauważ, że wartość i przy każdym obiegu będzie taka sama teraz, także w troche innym miejscu pasowaloby to zadeklarować;) powodzenia edit: jeszcze w int main możesz usunąć int i; int j; gdyż nie korzystasz z nich w ogóle;) |
|
Syriusz Temat założony przez niniejszego użytkownika |
» 2013-02-23 19:24:46 Ok, poradziłem sobie. Dziękuje bardzo za pomoc. Pozdrawiam.
|
|
« 1 » |