Непрямоугольная матрица - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Из входного потока вводится непрямоугольная матрица целых чисел [Aij],i=1,...,m,j=1,...,Ni. Значения m и Ni заранее не известны и вводятся из входного потока. Сформировать такую матрицу.

Решение задачи: «Непрямоугольная матрица»

textual
Листинг программы
int main(int argc,char* argv[])
{   
    int i,j,n,m,**a;
 
    srand((unsigned)time(0));
    printf("n:");
    scanf("%d",&n);
    a=(int**)malloc(n*sizeof(int*));
    for(i=0; i<n; i++)
    {
        printf("N%d:",i+1);
        scanf("%d",&m);
        a[i]=(int*)malloc((m+1)*sizeof(int));
        *a[i]=m;
        for(j=1; j<=m; j++) a[i][j]=rand()%19-9;
    }
    for(i=0; i<n; i++,printf("\n"))
    {
        m=*a[i];
        for(j=1; j<=m; j++) printf("%3d",a[i][j]);
    }
    system("pause");
    for(i=0; i<n; i++) free(a[i]);
    free(a);
    return 0;
}

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

В этом коде:

  1. Объявляются переменные: i, j, n, m, **a.
  2. Инициализируется генератор случайных чисел.
  3. Пользователю предлагается ввести количество строк матрицы (n).
  4. Массив a инициализируется как двумерный массив, где каждая строка - это динамический массив m.
  5. В каждой строке матрицы пользователю предлагается ввести количество столбцов (m).
  6. Каждая ячейка матрицы инициализируется случайным числом от -9 до 9.
  7. Все строки выводятся на экран.
  8. Программа ожидает нажатия клавиши для продолжения.
  9. Все динамические массивы освобождаются с помощью функции free.
  10. Конец программы. Этот код создает матрицу случайных чисел и выводит ее на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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