Не знаю как обращаться к елементам двухмерного массива с помощью указателей. То есть например для одномернго a[i] == *(a+1), а как для двухмерного? a[i][j] == ?? Мне в программе нужно везде заменить обращения к массиву с индексов на указатели.
| Код | #include <stdio.h> #include <conio.h> #include <alloc.h>
void main() { int n,q,k,s,i,j,**a; clrscr(); printf("Enter size:"); scanf("%d",&n); a=(int**)malloc(n*n*sizeof(int*)); printf("Enter matrix:\n"); for (j=0; j<n; j++) for (i=0; i<n; i++) { printf("a[%d][%d]=",j+1,i+1); scanf("%d",&a[j][i]); } printf("\nYour matrix:\n"); for (j=0; j<n; j++) for (i=0; i<n; i++) { printf("%d ",a[j][i]); if (i==n-1) printf("\n"); } s=0; q=1; for (i=0; i<n; i++) s+=a[0][i]; printf("\nSumm of elements of each row & col must be=%d",s); for (j=0; j<n; j++) { k=0; for (i=0; i<n; i++) k+=a[j][i]; if (k!=s) { printf("\nRows check failed."); q=0; break; } } for (i=0; i<n; i++) { k=0; for (j=0; j<n; j++) k+=a[j][i]; if (k!=s) { printf("\nColums check failed."); break; q=0; } } if (q) printf("\nMatrix is a magic square."); else printf("\nMatrix is not a magic square."); getch(); }
|
P.S. Программу я конечно же подкорректирую сам, только пожалуйста подскажите как решить описанный выше вопрос. |