Заменить нулями все элементы матрицы, расположенные на главной диагонали - C (СИ)

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

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

В файле F1 задано матрицу чисел А (12,12) заменить нулями все элементы, расположенные на главной диагонали и находятся в диапазоне заданных чисел a и b.

Решение задачи: «Заменить нулями все элементы матрицы, расположенные на главной диагонали»

textual
Листинг программы
#include <stdio.h>
 
#define SZ 12   /*размерность матрицы*/
 
void main(void)
{
FILE *file;
int A[SZ][SZ],i,j;
int a,b;
 
file=fopen("F1","rt");
if(file==NULL){puts("\nОшибка открытия файла."); return;}
 
/*читаем матрицу из файла*/
for(i=0;i<SZ;i++)
for(j=0;j<SZ;j++)
fscanf(file,"%d",&A[i][j]);
 
fclose(file);
 
puts("\nВведите величину a:");scanf("%d",&a);
puts("\nВведите величину b:");scanf("%d",&b);
 
for(i=0;i<SZ;i++)
{
   if(A[i][i] >= a && A[i][i] <= b) A[i][i]=0; /*проверяем главную диагональ и меняем элементы*/
}
/*Выводим на экран новую матрицу*/
puts("\nМатрица после замены:\n");
for(i=0;i<SZ;i++)
{
for(j=0;j<SZ;j++) printf("%4d ",A[i][j]);
puts("\n");
}
 
 
}

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

  1. Включаем заголовочный файл, который содержит функции ввода-вывода
  2. Определяем размерность матрицы (SZ)
  3. Объявляем переменные:
    • A - двумерный массив, представляющий собой матрицу
    • i, j - индексы для обхода матрицы
    • a, b - величины, с которыми сравниваются элементы главной диагонали
  4. Открываем файл F1 для чтения
  5. Читаем матрицу из файла, используя два вложенных цикла
  6. Закрываем файл
  7. Выводим сообщение с просьбой ввести значения a и b
  8. Считываем значения a и b с помощью функции scanf
  9. Используя вложенный цикл, проверяем каждый элемент главной диагонали и заменяем его нулем, если он находится в заданном диапазоне
  10. Выводим на экран новую матрицу, используя вложенный цикл для обхода всех элементов матрицы
  11. Завершаем программу

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы