Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы «уголками» - C (СИ)
Формулировка задачи:
Возникла проблема в решении матриц, помогите пожалуйста!!!
1. Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы следующим образом («уголками»): все элементы первого столбца; элементы последней строки, кроме первого (уже выведенного) элемента; оставшиеся элементы второго столбца; оставшиеся элементы предпоследней строки и т. Д.; последним выводится элемент A1,M. Вот что получилось:#include <cstdlib> #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> main() { int n,i,j,k,a[n][n],j1; printf("vvedite razmer matrici: "); scanf("%d",&n); for(i=0;i<=n;i++) { if (i%2==1) for(j=i;j<=n;j++) printf("[%d][%d]",i,j); if (i%2==0) for(j1=i;j1<=n;j++) printf("[%d][%d]",j1,i); } }
program n4_4; const m=5; var a:array[1..m,1..m] of integer; i,j,j1:integer; begin for i:=1 to m do for j:=1 to m do a[i,j]:=random(100); for i:=1 to m do begin if i mod 2=1 then for j:=i to m do write('[',i,',',j,'] '); if i mod 2=0 then for j1:=i to m do write('[',j1,',',i,'] '); writeln; end; readln; end.
Решение задачи: «Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы «уголками»»
textual
Листинг программы
#include <stdio.h> #include <malloc.h> #include <time.h> #include <conio.h> main() { int n; srand(time(NULL)); scanf("%d", &n); int **arr = (int **)malloc(n*sizeof(int*)); if(arr) { for(int i = 0; i < n; i++) { arr[i] = (int*)malloc(n*sizeof(int)); for (int j = 0; j < n; ++j) arr[i][j] = rand()%500; if(!arr[i]) { for (int i = 0; i < n; ++i) free(arr[i]); return 0; } } } printf("==========\n"); for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) printf("%d\t", arr[i][j]); printf("\n"); } printf("==========\n\n"); for (int i = 0; i < n; ++i) { for (int j = 0; j < n - i; ++j) printf("%d ", arr[j][i]); for (int j = i + 1; j < n; ++j) printf("%d ", arr[n-i-1][j]); } getch(); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная
n
типаint
, которая содержит размерность матрицы. - Выполняется инициализация генератора случайных чисел.
- Выводится приглашение для ввода размера матрицы.
- Под динамическую память выделяется массив указателей на
int
. - В цикле заполняются все элементы матрицы случайными числами.
- Выводится приглашение для вывода матрицы.
- В двух вложенных циклах выводятся все элементы матрицы.
- Выводится приглашение для вывода диагоналей матрицы.
- В двух вложенных циклах выводятся элементы главной и побочной диагоналей.
- Программа ожидает нажатия клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д