Двумерный массив, содержащий равное количество строк и столбцов, называется магическим квадратом, если суммы чисел, записанных в каждой строке, каждом столбце и каждой
из двух больших диагоналей, равны одному и тому же числу. Определить, является ли данный массив
А с n строк и n столбцов магическим квадратом.На мове c можно и с++

димон333777 димон333777    1   12.12.2020 08:47    0

Ответы
viper998 viper998  12.12.2020 08:50

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

   int *arr;

   int x, y, i, j, sum = 0, min = 0, minstr = 0;

   srand(time(NULL));

   x = 2 + rand() % 10;

   y = 2 + rand() % 6;

   arr = (int*)malloc(x*y*sizeof(int));

   printf("Array %d x %d: \n", x, y);

   for (i = 0; i < x; i++){

       for (j = 0; j < y; j++){

           *(arr + i*y + j) = -50 + rand() % 100;

           printf("arr[%d][%d] = %3d; ", i, j, *(arr + i*y + j));

       }

       printf("\n");

   }

   for (i = 0; i < y; i++)

       min += *(arr + i);

   minstr = 0;

   for (i = 1; i < x; i++){

       for (j = 0; j < y; j++)

           sum += *(arr + i*y + j);

       if (sum < min) {

           min = sum;

           minstr = i+1;

       }

       sum = 0;

   }

   printf("Minimum amount: %d (%d line)", min, minstr);

   free(arr);

   return 0;

Объяснение:

это пример как делать

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика