Определить является ли заданная квадратная матрица порядка n магическим квадратом - C (СИ)

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

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

Определить является ли заданная квадратная матрица порядка n магическим квадратом, то есть такой, в которой суммы элементов во всех строках и столбцах одинаковы

Решение задачи: «Определить является ли заданная квадратная матрица порядка n магическим квадратом»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <iostream>
int main() {
    int n;
    printf("Введите размер матрицы:\n");
    std::cin>>n;
    int matrix[n][n];
    int summ[n*2];
    int g = 0;
    bool state = true;
    for(int i = 0; i<n;i++) {
        for (int j =0; j <n; j++) {
            printf("Введите значение элемента [%d,%d]:\n",i,j);
            std::cin>>matrix[i][j];
        }
    }
    for (int i = 0;i<n;i++) {
        int temp=0;
        for(int j =0;j<n;j++) {
            temp+=matrix[i][j];
            summ[g] = temp;
        }
        g++;
        temp=0;
    }
    for (int i = 0; i< n; i++) {
        int temp=0;
        for (int j=0; j<n;j++) {
            temp+=matrix[j][i];
            summ[g] = temp;
        }
        g++;
        temp=0;
    }
    for (int i =0; i < n*2;i++) {
        if (i==(n*2)-1) {
 
        } else {
            if(summ[i]!=summ[i+1]) {
                state=false;
                break;
            }
        }
    }
    if(state) {
        printf("Матрица является магическим квадратом\n");
    } else {
        printf("Матрица не является магическим квадратом\n");
    }
    return 0;
}

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

  1. Объявляются переменные: n (размер матрицы), matrix[n][n] (квадратная матрица), summ[n*2] (сумма элементов матрицы), g (счетчик для заполнения суммы), state (флаг для определения является ли матрица магическим квадратом), temp (временная переменная).
  2. Пользователю предлагается ввести размер матрицы.
  3. В цикле заполняются элементы матрицы.
  4. В цикле заполняются суммы элементов матрицы по диагоналям.
  5. Проверяется условие для определения является ли матрица магическим квадратом.
  6. Выводится сообщение о результате проверки.
  7. Программа завершается.

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


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

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

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