Вопрос задан 10.05.2019 в 08:42. Предмет Информатика. Спрашивает Алисейко Полина.

Объявить массив данных типа int размером 3 на 3. Ввести с консоли его значения, вывести на консоль

сумму его элементов, расположенных на главной диагонали и сумму элементов, расположенных на побочной диагонали. Проверить, является ли матрица «магическим квадратом» (в «магическом квадрате» суммы элементов по вер-тикали, горизонтали и диагонали равны).Для языка C
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Носков Макс.
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>

int main()  
  {
    SetConsoleCP(1251);   
   
    SetConsoleOutputCP(1251);  
 

int const n=3;
int mas[n][n];

int sum1, sum2;

bool magik;

for (int i=0; i<n; i++)
    for (int j=0; j<n; j++)

         {

           printf("mas[%d][%d] = ", i+1, j+1);

           scanf("%d",&mas[ i ][ j ]);

         }


printf("\nВведенная матрица:\n");
     for (int i=0; i<n; i++)

        {

             for (int j=0; j<n; j++)

                       {

                          printf("%d  ",mas[ i ][ j ]);

                       }

             printf("\n");

         }

sum1=0;
sum2=0;


for (int i = 0; i<n; i++)

     {

            sum1 += mas[ i ][ i ];

            sum2 += mas[ i ][ n-1-i ];

      }

printf("Сумма главной диагонали = %d\n", sum1);
printf("Сумма побочной диагонали = %d\n", sum2);



magik = true;
for (int i=0; i<n; i++)
    {

        if (sum1==sum2)

             {

                 sum2=0;

                 for (int j=0; j<n; j++)

                    {

                        sum2 += mas[ i ][ j ];

                     }

              }
else  { magik=false; break; }
     }

if (magik==true)
     {

           for (int i=0; i<n; i++)
   
               {

                   if (sum1==sum2)

                        {

                           sum2=0;

                           for (int j=0; j<n; j++)

                               {

                                   sum2 += mas[ j ][ i ];

                               }

                         }

                        else 
{ magik=false; break; }
                 }

       }

if (magik==true)
    printf("\nМатрица является магическим квадратом\n");
  
else
    printf("\nМатрица не является магическим квадратом\n");

system("pause");
return 0;
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи на языке C, можно использовать двумерный массив типа int размером 3 на 3.

Сначала объявим и инициализируем массив:

```c int matrix[3][3]; ```

Затем, введем значения элементов массива с помощью циклов:

```c for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { printf("Введите значение элемента [%d][%

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос