Заполнение квадратной матрицы - C (СИ)
Формулировка задачи:
Добрый день. Изучаю азы программирования, преподаватель попросил сделать так, чтобы пользователем вводилась квадратная матрица, при этом размер матрицы не задается в начале программы или пользователем. Происходит считывание количества элементов(csv-формат), выходит, из этого и создается размерность, но как?
Если у кого-то есть пример такого кода, то было бы еще лучше, я бы разобрался
К примеру:
Введите матрицу
1; 2; 3;
4; 5; 6;
7; 8; 9;
Вы ввели матрицу 3x3:
1; 2; 3;
4; 5; 6;
7; 8; 9;
Решение задачи: «Заполнение квадратной матрицы»
textual
Листинг программы
#include<stdio.h> #define N 100 int main(void) { int ar[N][N],n=0,i,j; printf("Enter matrix\n"); do { scanf("%d%*c",&ar[0][n++]); }while(getchar()!='\n'); for(i=1;i<n;i++) for(j=0;j<n;j++) scanf("%d%*c",&ar[i][j]); printf("You entered matrix %dx%d:\n",n,n); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%d; ",ar[i][j]); printf("\n"); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявляется переменная
N
с значением 100, которая будет использоваться для определения размера матрицы. - Объявляется переменная
ar
типаint
размеромN
наN
, которая будет использоваться для хранения элементов матрицы. - В цикле
do-while
пользователю предлагается ввести элемент матрицы. Это продолжается до тех пор, пока не будет введен символ новой строки (\n
). - Затем в цикле
for
происходит ввод остальных элементов матрицы. - Выводится сообщение с размером матрицы и затем сама матрица.
- В цикле
for
происходит вывод элементов матрицы построчно. - Возвращается 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д