Błędne wypisywanie wartości tablicy ręcznie inicjalizowanej (C, Visual)
Ostatnio zmodyfikowano 2014-11-27 21:18
krzysztof.kolski Temat założony przez niniejszego użytkownika |
Błędne wypisywanie wartości tablicy ręcznie inicjalizowanej (C, Visual) » 2014-11-27 14:50:56 #include <stdio.h> #include <stdlib.h> #define N 10 #define M 10
void funcof( int tab[][ M ], int n, int m ); void wypisz( int tab[][ M ], int n, int m ); int prol[ 3 ][ 4 ] = { { 1, 4, 2, 5 }, { 5, 4, 3, 4 }, { 8, 7, 4, 8 } }; int main() { int t1[ N ][ M ]; wypisz( prol, 3, 4 ); funcof( t1, N, M ); wypisz( t1, N, M ); system( "pause" ); return 0; }
void funcof( int tab[][ M ], int n, int m ) { int i, j; for( i = 0; i < n; i++ ) for( j = 0; j < m; j++ ) tab[ i ][ j ] = i + j; } void wypisz( int tab[][ M ], int n, int m ) { int i, j; printf( "\n" ); for( i = 0; i < n; i++ ) for( j = 0; j < m; j++ ) printf( "%d%c", tab[ i ][ j ], j < m - 1 ? '\t' : '\n' ); printf( "\n" ); }
Problem polega na tym że jeśli inicjalizuje tablice przy deklaracji, tzn instrukcjami w klamrach ("{{...},{...}}") to wiersze tej tablicy poniżej pierwszego są błędnie widziane w funkcji wypisz. Nie mogę dojść dlaczego. Gdzie robie błąd? Program napisany jest w C ,kompilowałem w visual'u. |
|
michal11 |
» 2014-11-27 15:10:36 A jakieś szczegółowe informacje ? Co się wypisuje ? Co to znaczy "drugi i trzeci wiersz jest dziwny" ? |
|
krzysztof.kolski Temat założony przez niniejszego użytkownika |
» 2014-11-27 18:27:13 Jest dziwny bo w tych miejscach gdzie powinna być liczba zainicjalizowana przeze mnie są jakieś śmieci typu -81678 itd |
|
Monika90 |
» 2014-11-27 21:18:48 M to 10, a tutaj drugi wymiar tablicy to 4 nie pasują do siebie... |
|
« 1 » |