Является ли матрица магическим квадратом

      Комментарии к записи Является ли матрица магическим квадратом отключены

Главная Форумы Программирование Программирование на С++ Решение задач на С++ Является ли матрица магическим квадратом

Помечено: ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 1 месяц, 3 нед. назад.

  • Автор
    Сообщения
  • #3813

    Тема: матрицы
    Задание:

    Программа проверяет, является ли введенная с клавиатуры квадратная матрица «магическим» квадратом. «Магическим» квадратом называется матрица, у которой сумма чисел в каждом горизонтальном ряду, в каждом вертикальном и по каждой из диагоналей одна и та же.

    Материалы по теме: Массивы в С++

    Решение:

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    void main()
    {
      setlocale(LC_ALL,"Rus");
      const int n=3, k=3;
      int i=0, j=0, mas[n][k], x=-1, str=0, stb=0, g_d=0, p_d=0;
      for (i=0; i<n; i++) //ввод массива
      {
        for (j=0; j<k; j++)
        cin>>mas[i][j];
        g_d+=mas[i][i];
      }
      for (i=n-1; i>=0; i--)
      {
        x++;
        p_d+=mas[x][i];
      }
      x=n;
      for (i=0; i<n; i++)
      {
        for (j=0; j<k; j++)
        {
          str+=mas[i][j];
          stb+=mas[j][i];
        }
        if ((str==stb)&&(stb==g_d)&&(g_d==p_d))
          x=x-1;
        str=0; stb=0;
      }
      if (x==0)
        cout<<" Матрица \"магическая\" ";
      else
        cout<<" Матрица не является \"магической\" ";
      system("pause>>void");
    }

Для ответа в этой теме необходимо авторизоваться.