Дана целочисленная матрица A(N,M) (N,M<=10). Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1, если k-я строка матрицы - C (СИ)
Формулировка задачи:
Дана целочисленная матрица A(N,M) (N,M<=10).
Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1,
если k-я строка матрицы А симметрична
(т.е. первый элемент равен последнему, второй - предпоследнему и т.д.),
и 0 - в противном случае
что не так?? подскажите пожалуйста))
#include <stdio.h> #include <malloc.h> #define N 3 #define M 3 int main() { int **a,i,j; static int b[N]; a=(int**)malloc(N*sizeof(int*)); for(i=0;i<M;i++) a[i]=(int*)malloc(M*sizeof(int)); for(i=0;i<N;i++) for(j=0;j<M;j++) scanf("%d",&a[i][j]); for(i=0;i<N;i++) { for(j=0;j<M;j++) printf("%4d ",a[i][j]); printf("\n"); } for(i=0;i<N;i++) printf(" % d",b[i]); for(i=0;i<N;i++) for(j=0;j<M;j++) if(a[j]==a[M] && a[j+1]==a[M-1]) { b[j]=1; } for(i=0;i<N;i++) printf(" % d",b[j]); return 0; }
Решение задачи: «Дана целочисленная матрица A(N,M) (N,M<=10). Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1, если k-я строка матрицы»
textual
Листинг программы
a=(int**)malloc(M*sizeof(int*)); for(i=0;i<N;i++) a[i]=(int*)malloc(N*sizeof(int));
Объяснение кода листинга программы
- Создается динамический массив a типа int**, размером M, который будет хранить указатели на N строк матрицы.
- В цикле для каждой строки матрицы (i<N) выделяется память под N элементов типа int с помощью оператора malloc.
- Полученные указатели на строки матрицы сохраняются в элементах массива a.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д