Я хочу написать код, чтобы проверить 3 элемента внутри матрицы 3 x 3 по x, y и диагонали и напечатать успех на выходе. Может кто-нибудь мне помочь
нет, мне нужно проверить элементы внутри матрицы по осям x, y и диагонали
вы пишете функцию, которая принимает на вход матрицу 3x3 и возвращает true или false?
Насколько я понимаю ваш вопрос, я использую логическую функцию, чтобы проверить, существуют ли три значения в матрице или нет.
мой код:
#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;
}
Вы заполняете матрицу и ищете 3 значения в этой матрице, если они существуют. Это ваш вопрос?