Lekcja 19, praca domowa, czyli Jak komunikować się z funkcji do main'a.
Ostatnio zmodyfikowano 2014-09-19 21:25
Skaciu Temat założony przez niniejszego użytkownika |
Lekcja 19, praca domowa, czyli Jak komunikować się z funkcji do main'a. » 2014-09-16 16:12:25 Witam. Podczas swojej sielankowej nauki natrafiłem na problem, którego mimo wielu prób nie jestem w stanie pokonać. Chodzi tu o lekcje 19 (poziom 2) i o przekazywanie tablicy do funkcji a następnie z funkcji do main'a. Przykładowy kod który się tam znajduje: #include <iostream>
void wypelnijTablice( int t[], int iRozmiar ) { std::cout << "Podaj " << iRozmiar << " liczb:" << std::endl; int i = 0; do { std::cin >> t[ i ]; i++; } while( i < iRozmiar ); }
int main() { int moja_tablica[ 5 ]; wypelnijTablice( moja_tablica, 5 ); int i = 0; do { std::cout << moja_tablica[ i ] << ", "; i++; } while( i < 5 ); return 0; }
Moje pytanie to: w którym miejscu funkcja zmienia wartości moja_tablica w funkcji main? Bo z tego co widzę argumentem main przekazuje funkcji tablice, a potem co? Prosze o pomoc, dziękuję serdecznie. :) |
|
michal11 |
» 2014-09-16 16:27:44 #include <iostream>
void wypelnijTablice( int t[], int iRozmiar ) { std::cout << "Podaj " << iRozmiar << " liczb:" << std::endl; int i = 0; do { std::cin >> t[ i ]; i++; } while( i < iRozmiar ); }
int main() { int moja_tablica[ 5 ]; wypelnijTablice( moja_tablica, 5 ); int i = 0; do { std::cout << moja_tablica[ i ] << ", "; i++; } while( i < 5 ); return 0; }
Dlaczego stosujesz do while zamiast for ? |
|
Skaciu Temat założony przez niniejszego użytkownika |
» 2014-09-16 16:34:53 Kod pochodzi z kursu, pętla for jeszcze nie została w nim omówiona. |
|
grzeso |
» 2014-09-18 17:34:32 Trochę dziwne pytanie. Nie masz zmiennej moja_tablica. Masz zmienne moja_tablica[ 1 ] ... moja_tablica[ 5 ] , to ogromna różnica. Tutaj int moja_tablica[ 5 ]; nadajesz jakiejś tablicy nazwę moja_tablica i to że ma 5 elementów. W main nic się nie zmienia w związku z tą tablicą, wywołuje jedynie funkcję wypelnijTablice(...) w której to nadajesz wartości tym zmiennym. Nic zawarte w main nie zmienia i nie nadaje wartości tym zmiennym. (nie licząc oczywiście wywołania samej funkcji) Generalnie to w funkcji nadjesz zmiennej wartość, a potem w etapie: do { std::cout << moja_tablica[ i ] << ", "; i++; } while( i < 5 ); tylko wypisujesz. w tym momencie: wypelnijTablice( moja_tablica, 5 ); tylko informujesz funkcje z jakiej tablicy ma korzystać Może napisz inaczej swoje pytanie bo ja to tak do końca nie zrozumiałem o co chodzi |
|
Skaciu Temat założony przez niniejszego użytkownika |
» 2014-09-19 21:25:58 "tylko informujesz funkcje z jakiej tablicy ma korzystać"
I o to chodziło, teraz już rozumiem jak to działa i wykonałem pracę domową. Dziękuję.
|
|
« 1 » |