Задана матрица В(4,4). Если в строке есть хотя бы одна единица, то заменить эту строку нулями - C (СИ)
Формулировка задачи:
Здравствуйте ! прошу прощенья но немогли бы вы подсказать как это можно было бы решить без указателей ?
Решение задачи: «Задана матрица В(4,4). Если в строке есть хотя бы одна единица, то заменить эту строку нулями»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int matrix[4][4] = {{2,8,4,6},{0,3,5,1},{2,4,6,8},{3,7,1,9}};
size_t i, j, k;
for ( i = 0; i < 4; ++i ) // line
for ( j = 0; j < 4; ++j ) // row
if ( matrix[i][j] == 1 )
for ( k = 0; k < 4; ++k )
matrix[i][k] = 0;
for ( i = 0; i < 4; ++i ) {
for ( j = 0; j < 4; ++j )
printf( "%2d", matrix[i][j] );
puts( "" );
}
return EXIT_SUCCESS;
}
Объяснение кода листинга программы
- Объявлена матрица В(4,4) типа int с инициализацией значениями в блоке
- Задана переменная i типа int для первого вложенного цикла
- Задана переменная j типа int для второго вложенного цикла
- Условие проверки if(matrix[i][j] == 1) для проверки наличия единицы в строке
- Задана переменная k типа int для третьего вложенного цикла
- Условие цикла for(k=0;k<4;++k) для замены всех элементов строки нулями
- Объявлен третий вложенный цикл для замены элементов строки нулями
- Вывод матрицы на экран с помощью функции printf и команды puts
- Возврат значения EXIT_SUCCESS функцией main