Проверить 3 элемента матрицы 3 x 3 по осям x, y и диагонали, если они равны друг другу

Я хочу написать код, чтобы проверить 3 элемента внутри матрицы 3 x 3 по x, y и диагонали и напечатать успех на выходе. Может кто-нибудь мне помочь

Вы заполняете матрицу и ищете 3 значения в этой матрице, если они существуют. Это ваш вопрос?

MED LDN 13.12.2020 19:42

нет, мне нужно проверить элементы внутри матрицы по осям x, y и диагонали

Aymen Haddar 13.12.2020 20:27

вы пишете функцию, которая принимает на вход матрицу 3x3 и возвращает true или false?

mr. fixit 20.12.2020 04:04
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
3
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько я понимаю ваш вопрос, я использую логическую функцию, чтобы проверить, существуют ли три значения в матрице или нет.

мой код:

#include <stdio.h>
#include <stdbool.h>

bool Exist(int rows,int cols,int matrix[rows][cols],int Val);

int main(void)
{
    int rows=3, cols=3;
    /*
    do
    {
        printf("Give me the number of rows :");
        scanf("%d",&rows);
    }while(rows<1);
    
    do
    {
        printf("Give me the number of cols :");
        scanf("%d",&cols);
    }while(cols<1);
    **/

   int arr[rows][cols];

   printf("\nThe filling of the Matrix :\n");

   for (int i = 0; i < rows; i++)
   {
       for (int j = 0; j < cols; j++)
       {
           scanf("%d", &arr[i][j]);
       }
   }

   for (int i = 0; i < rows; i++)
   {printf("\n");
      for (int j = 0; j < cols; j++)
      {
          printf("[%d]",arr[i][j]);
      }
   }

   printf("\n\n");
   int VAL_1=0,VAL_2=0,VAL_3=0;
   printf("\nGive me Value 1 & Value 2 & Value 3 :");
   scanf("%d%d%d",&VAL_1,&VAL_2,&VAL_3);
   if ((Exist(rows,cols,arr,VAL_1)==false)||(Exist(rows,cols,arr,VAL_2)==false)||(Exist(rows,cols,arr,VAL_3)==false))
   {
       printf("\nThe three values don't exist in this matrix !\n\n");
   }
   else
   {
       printf("\nThe three values exist in this matrix !\n\n");
   }
   printf("\n\n");
   return 0;
}

bool Exist(int rows,int cols,int matrix[rows][cols],int Val)
{
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            if (i==0)
            {
                if ((matrix[i][j]==Val)||(matrix[j][i]==Val))
                {
                    return true;
                }
            }
        }
       if (matrix[i][i]==Val)
       {
          return true;
       }
   }
   return false;
}

Другие вопросы по теме