gpt4 book ai didi

c - 如何使用函数扫描二维数组而不删除其内容

转载 作者:太空宇宙 更新时间:2023-11-04 01:43:57 24 4
gpt4 key购买 nike

作为家庭作业,我需要扫描 N 个矩阵和一个用户输入的整数,并扫描是否有任何矩阵值包含该数字不使用指针。

一旦我完成扫描数组并退出该函数,数组的内容就会重置为零,如果我不初始化数组,就会被丢弃。

#pragma warning(disable:4996)

#include<stdio.h>

#define N 2

int exist(int matrix[][N], int elem);

void input_matrix(int matrix[][N], int size);


void main()
{
int matrix_1[][N] = { 0 }, matrix_2[][N] = { 0 }, matrix_3[][N] = { 0 };

int elem;
printf("please enter values of squared matrix:\n");
input_matrix(matrix_1[][N], N);
//(input_matrix(&matrix_2[N][N]));
// (input_matrix(&matrix_3[N][N]));
printf("please enter number to search for in the matrix:\n");
scanf("%d", &elem);
if (exist(matrix_1,elem))
//printf("exist.");//the next part of h.w to be written when input func works

}

void input_matrix(int matrix[][N], int size)//something here fishy
{
int i, j;
for (i = 0; i < size; i++)
{
for (j = 0; j < size; j++)
{
scanf("%d", &matrix[i][j]);
}
}
}
int exist(int matrix[][N], int elem)
{
int i, j;
int flag = 0;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
if ((matrix[i][j]) == elem)
{
flag = 1;
break;
}
}
}
return flag;
}

最佳答案

  1. 在主函数内,在调用 input_matrix(matrix_1[][N], N) 时,您传递了无效参数。相反,应该传递整个矩阵,例如input_matrix(matrix_1, N)
  2. comment 中所述, 最好像 matrix_1[N][N] 那样声明矩阵。

关于c - 如何使用函数扫描二维数组而不删除其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com