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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
void form_matrix (int **a, int n) {
 int i,j,k;
 for (j=0; j<n; j++) {
  k=n;
  for (i=j; i<n; i++) a[i][j]=k--;
 }
}
 
void print_array (int **a, int n) {
 int i,j;
 for (i=0; i<n; i++) {
  printf ("\n");
  for (j=0; j<n; j++) printf ("%d ",a[i][j]);
 }
}
 
int main () {
 const int n=10;
 int **a;
 int i,j;
 a = (int **) calloc (n, sizeof(int));
 for (i=0; i<n; i++) a[i] = (int *) calloc (n, sizeof(int));
 int k;
 printf ("\nK="); scanf ("%d",&k);
 form_matrix(a,n);
 printf ("Исходная матрица");
 print_array (a,n);
 for (j=0; j<n; j++) a[k][j]=0;
 printf ("\nПреобразованная матрица");
 print_array (a,n);
 getchar();
 return 0;
}

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

  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
Похожие ответы