Witam mam problem w moim programie który ma wypisywać tablice dynamiczna dwuwymairową w ustalony sposób, błąd tkwi gdzieś w implementacji tej tablicy:
#include <stdio.h>
#include <stdlib.h>
#define wypelnij
#define wypisz
// wypelnia tablice wartosciami
void wypelnij(int ** tab, int i, int j, int N, int M, int sum, int lvl,int stat, zera) {
if(i <= lvl && stat==0 && zera==0) { //Wypełnia liczbami wg podanego sposobu
i=i-1
tab[i][j] = sum++;
wypelnij(tab,i,j,N,M,sum,lvl,stat,zera);
}
else{
stat=1
if j=N {
stat=o lvl=lvl++
i=N;
}
tab[i][j] = sum++;
i=i-1;
j=j-1;
wypelnij(tab,i,j,N,M,sum,lvl,stat,zera);
}
j=2
if lvl=N && j <= M {
tab[i][j] = sum++;
zera=1;
wypelnij(tab,i,j,N,M,sum,lvl,stat,zera);
j=j++
}
else (
tab[i][j] = sum++;
j=i+1
i=+1
wypelnij(tab,i,j,N,M,sum,lvl,stat,zera);
)
}
// wypisuje tablice
void wypisz(int ** tab, int N, int M) {
for(int i = 0; i < N; i++) {
for(int j = 0; j < M; j++) {
printf("%d /n",tab[i][j]);
}
printf("\n");
}
}
int main(int argc, char ** argv) {
if( argc < 3 ) return -1; // wczytanie dwoch argumrntów
int ** tab;
int N,M;
int stat, zera;
N = atoi(argv[1]);
M = atoi(argv[2]);
if(N < 1 || M < 1) return -1; // nie poprawny rozmiar tablicy
tab = (int*)malloc(N*sizeof(int));
int i;
for(i = 0; i < N ; i++) {
tab[i] = (int*)malloc(M*sizeof(int));
}
wypelnij(tab,N,0,N,M,1,0,0,0);
wypisz(tab, N, M);
for(i = 0; i < N; i++) { //zwalnianie pamieci
free(tab[i]);
}
free(tab);
return 0;
}
Kompilator wyrzuca następujące błędy z którymi nie mogę sobie w rzaden sposób poradzić:
8 line [Error] expected identifier or '(' before 'int'
46 line [Error] expected identifier or '(' before 'int'
In main function:
63 line [Warning] assignment from incompatible pointer type [enabled by default]
Co musiałbym zminić żeby to chodziło?
Wielkie dzięki za pomoc