Заполнение квадратной матрицы - 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;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявляется переменная N с значением 100, которая будет использоваться для определения размера матрицы.
  2. Объявляется переменная ar типа int размером N на N, которая будет использоваться для хранения элементов матрицы.
  3. В цикле do-while пользователю предлагается ввести элемент матрицы. Это продолжается до тех пор, пока не будет введен символ новой строки (\n).
  4. Затем в цикле for происходит ввод остальных элементов матрицы.
  5. Выводится сообщение с размером матрицы и затем сама матрица.
  6. В цикле for происходит вывод элементов матрицы построчно.
  7. Возвращается 0, чтобы указать, что программа успешно завершилась.

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы