В полученной матрице обнулить строку с номером k - C (СИ)

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

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

дано натуральное число n. Написать программу построения матрицы порядка n: (Над диагональю стоят нули) В полученной матрице обнулить строку с номером k. Вывести на экран исходную матрицу и полученную матрицы

Решение задачи: «В полученной матрице обнулить строку с номером k»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void form_matrix (int **a, int n) {
  5.  int i,j,k;
  6.  for (j=0; j<n; j++) {
  7.   k=n;
  8.   for (i=j; i<n; i++) a[i][j]=k--;
  9.  }
  10. }
  11.  
  12. void print_array (int **a, int n) {
  13.  int i,j;
  14.  for (i=0; i<n; i++) {
  15.   printf ("\n");
  16.   for (j=0; j<n; j++) printf ("%d ",a[i][j]);
  17.  }
  18. }
  19.  
  20. int main () {
  21.  const int n=10;
  22.  int **a;
  23.  int i,j;
  24.  a = (int **) calloc (n, sizeof(int));
  25.  for (i=0; i<n; i++) a[i] = (int *) calloc (n, sizeof(int));
  26.  int k;
  27.  printf ("\nK="); scanf ("%d",&k);
  28.  form_matrix(a,n);
  29.  printf ("Исходная матрица");
  30.  print_array (a,n);
  31.  for (j=0; j<n; j++) a[k][j]=0;
  32.  printf ("\nПреобразованная матрица");
  33.  print_array (a,n);
  34.  getchar();
  35.  return 0;
  36. }

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

  1. В функции main объявлены следующие переменные:
    • n (константа, размер матрицы)
    • a (двумерный массив, который будет представлять собой матрицу)
    • i, j (используются в циклы для прохода по элементам матрицы)
    • k (номер строки, которую нужно обнулить)
  2. Далее происходит инициализация матрицы. Для каждого элемента матрицы выделяется память с помощью calloc, после чего каждый элемент заполняется значениями с помощью цикла for.
  3. После инициализации матрицы, пользователю предлагается ввести номер строки, которую нужно обнулить.
  4. Затем вызывается функция form_matrix, которая формирует матрицу. В этой функции используется два цикла for. Первый цикл проходит по всем элементам матрицы, а второй цикл изменяет значения элементов в строке с номером k.
  5. После формирования матрицы, вызывается функция print_array, которая выводит матрицу на экран.
  6. Далее в основной функции main происходит обнуление строки с номером k в матрице a. Для этого используется дополнительный цикл for, который проходит по всем элементам строки и устанавливает их значение равным нулю.
  7. После обнуления строки, снова вызывается функция print_array, которая выводит измененную матрицу на экран.
  8. В конце программы вызывается функция getchar, которая считывает символ из стандартного ввода и передает его в качестве параметра функции return. Это необходимо для корректного завершения программы.
  9. В конце программы возвращается значение 0, что означает успешное завершение программы.

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


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

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

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы