В полученной матрице обнулить строку с номером 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; }
Объяснение кода листинга программы
- В функции
main
объявлены следующие переменные:n
(константа, размер матрицы)a
(двумерный массив, который будет представлять собой матрицу)i
,j
(используются в циклы для прохода по элементам матрицы)k
(номер строки, которую нужно обнулить)
- Далее происходит инициализация матрицы. Для каждого элемента матрицы выделяется память с помощью
calloc
, после чего каждый элемент заполняется значениями с помощью циклаfor
. - После инициализации матрицы, пользователю предлагается ввести номер строки, которую нужно обнулить.
- Затем вызывается функция
form_matrix
, которая формирует матрицу. В этой функции используется два циклаfor
. Первый цикл проходит по всем элементам матрицы, а второй цикл изменяет значения элементов в строке с номеромk
. - После формирования матрицы, вызывается функция
print_array
, которая выводит матрицу на экран. - Далее в основной функции
main
происходит обнуление строки с номеромk
в матрицеa
. Для этого используется дополнительный циклfor
, который проходит по всем элементам строки и устанавливает их значение равным нулю. - После обнуления строки, снова вызывается функция
print_array
, которая выводит измененную матрицу на экран. - В конце программы вызывается функция
getchar
, которая считывает символ из стандартного ввода и передает его в качестве параметра функцииreturn
. Это необходимо для корректного завершения программы. - В конце программы возвращается значение 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д