Матрица в которой главная диагональ единицы - C (СИ)
Формулировка задачи:
Написать программу, которая печатает на экране квадратную матрицу, размерность которой вводит пользователь с клавиатуры. Требуется матрица в которой главная диагональ единицы а остальное нули.
Решение задачи: «Матрица в которой главная диагональ единицы»
textual
Листинг программы
#include <stdio.h> int main(void) { int size; do{ system("cls"); printf("Enter the size of the matrix: "); scanf("%d", &size); } while( size < 1 ); unsigned arr[size][size]; printf("\nThe result of the matrix:\n\r\n"); size_t i, j, count = 0; for( i = 0; i < size; i++, count++ ){ for( j = 0; j < size; j++ ){ if( j == count ) arr[i][j] = 1; else arr[i][j] = 0; printf(" %u", arr[i][j]); } printf("\r\n"); } printf("\r\n"); system("pause"); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявляется переменная
size
, которая используется для хранения размера матрицы. - С помощью цикла
do-while
пользователю предлагается ввести размер матрицы. Цикл продолжается, пока пользователь не введет размер больше 0. - Создается двумерный массив
arr
типаunsigned
с размерностьюsize
. - Выводится сообщение
The result of the matrix:
и пустая матрица. - С помощью двух вложенных циклов
for
заполняется матрица. Главная диагональ матрицы (от левого верхнего угла до правого нижнего угла) заполняется единицами, а все остальные элементы - нулями. - С помощью функции
printf
выводятся значения матрицы, разделенные пробелами. - После вывода матрицы выводится сообщение, сигнализирующее об успешном завершении программы.
- Программа ожидает нажатия клавиши
pause
перед завершением работы. - Возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д