wypełnianie pustej tablicy2d za pomocą funkcji
Ostatnio zmodyfikowano 2016-03-13 21:21
Cz3ster Temat założony przez niniejszego użytkownika |
wypełnianie pustej tablicy2d za pomocą funkcji » 2016-03-13 19:59:04 #include <iostream> using namespace std; int t[4][4]; void wypisz(int t[][4]) { int x=1; for(int w=0; w<4; w++) for(int c=0; c<4; c++) { t[c][w]=x; x++; } for(int a=0; a<4; a++) { for(int b=0; b<4; b++) cout << t / << "\t"; cout << endl; } }
int main() { wypisz(t[][4]); return 0; }
Dopiero co zacząłem swoją przygodę z programowaniem , moja wiedza na ten temat jest niewielka , nie wiem gdzie szukać rozwiązania mojego błędu więc piszę tutaj . Proszę o pomoc. |
|
carlosmay |
» 2016-03-13 21:21:51 Deklaracja globalna to kiepski pomysł. Deklaracja tablicy jest globalna więc przekazanie jej do funkcji nie ma sensu. Poza tym jest nieprawidłowe. wypisz(); w tym przypadku wystarczy. Natomiast tak byłoby dużo lepiej: void fill( int t[][ 4 ], std::size_t size ) { int x = 1; for( std::size_t i = 0; i < size; ++i ) { for( std::size_t j = 0; j < 4; ++j, ++x ) { t[ i ][ j ] = x; } } }
void print( int t[][ 4 ], std::size_t size ) { for( std::size_t i = 0; i < size; ++i ) { for( std::size_t j = 0; j < size; ++j ) { std::cout << t[ i ][ j ] << ' '; } } std::cout << std::endl; }
int main() { int tab[ 4 ][ 4 ]; fill( tab, 4 ); print( tab, 4 ); } Nie użyłem przestrzeni nazw using namespace std; . Jeśli jest potrzeba jej użyć, może być konieczność zmienić identyfikator funkcji fill, ponieważ taka funkcja jest zdefiniowana w pliku <algorithm> i może wystąpić dwuznaczność. |
|
« 1 » |