Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные - C (СИ)
Формулировка задачи:
Даны целые числа a1,...,a10 и целочисленная квадратная матрица порядка n. Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди a1,...,a10.
Среда программирования - Visual C++ 2008.
Решение задачи: «Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int aN[10] = {2,5,7,33,21,98,40,72,65,99};
int matrix[4][4] = { { 1, 2, 2, 4},
{ 5, 5, 7, 7},
{44,40,44,40},
{77,66,55,33} };
int i,j,n;
for (i=0; i<10; i++)
printf(" %02i,", aN[i]);
putchar('\n');
putchar('\n');
for (i=0; i<4; i++) {
for (j=0; j<4; j++)
printf(" %02i,", matrix[i][j]);
putchar('\n');
}
putchar('\n');
for (i=0; i<4; i++)
for (j=0; j<4; j++)
for (n=0; n<10; n++)
if (aN[n]==matrix[i][j] && !((i+j)%2))
matrix[i][j] = 0;
for (i=0; i<4; i++) {
for (j=0; j<4; j++)
printf(" %02i,", matrix[i][j]);
putchar('\n');
}
return 0;
}
Объяснение кода листинга программы
- Объявление переменных:
aN- массив из 10 целых чиселmatrix- массив из 4 строк по 4 элемента, каждая строка - массив из 4 целых чиселi,j,n- индексные переменные для циклов
- Вывод массива
aNна экран в формате двузначного числа, разделенного запятой, с пробелом после каждого числа и переносом строки после каждого элемента массива. - Вывод матрицы
matrixна экран в формате двузначного числа, разделенного запятой, с пробелом после каждого числа и переносом строки после каждой строки матрицы. - Обход матрицы
matrixв двухмерном цикле и обход массиваaNв трехмерном цикле. Проверка условия: числоaN[n]равно элементу матрицыmatrix[i][j]и сумма индексовi+jчетная. Если условие выполняется, то значение элемента матрицыmatrix[i][j]заменяется на ноль. - Вывод обновленной матрицы
matrixна экран в формате двузначного числа, разделенного запятой, с пробелом после каждого числа и переносом строки после каждой строки матрицы. - Возврат 0, означающий успешное выполнение программы.