Заполнение квадратной матрицы - 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, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д