C编程-匹配输出不正确



任务是将维度和数据输入到二维数组中,并确定不重复数字的数量。我尝试了很多事情,所以我请你给我你的指示或提示(想要的指示(如何纠正我的代码。

#include <stdio.h>
#include <stdlib.h>
int protect(int max_size_1 ,int max_size_2 , int current_1,int current_2,const int arr[max_size_1][max_size_2])
{
for(int f1=0;f1<max_size_1;f1++)
{
for(int f2=0;f2<max_size_2;f2++)
{
printf("%d---%dn",arr[current_1][current_2],arr[f1][f2]);
if((f1!=current_1 && f2!=current_2) && arr[current_1][current_2]==arr[f1][f2])
{
return 0;
}
}
}
return 1;
}
int main()
{
int i, j, f1, f2, count=1;
printf("[i][j] = ");
scanf("%d", &i);
int arr[i][i];
for (f1 = 0; f1<i; f1++) 
{
for (f2 = 0; f2<i; f2++) 
{
printf("a[%d][%d] = ", f1, f2);
scanf("%d", &arr[f1][f2]);
}
}
for (f1 = 0; f1<i; f1++)  
{
for (f2 = 0; f2<i; f2++) 
{
if (protect(i,j,f1,f2,arr)==1){
count++;}
}
}
printf("nn%d", count/2);
return 0;
}

我相信,您正在尝试将数据存储在二维数组中。在下一步中,对于2 dim数组中的每个值,尝试查找数组中是否存在任何dup条目。不确定您是否需要将数据存储在2维数组中,还有其他优化的方法可以从用户输入中删除重复数据。

我们有n个用户输入想要打印用户输入的数据中没有重复数据的条目数。

假设,如果用户输入是

1, 1
1, 1

答案应该是0。用于输入

1, 2
3, 4

答案应该是4。

可以在代码中看到三个问题

  1. 你有两个变量"i〃;以及";j";,这个var中只有一个赋值,j总是0。这使得";保护";函数返回一个1作为每次调用的输出。

  2. 计数从1开始,应为0

  3. 结果被2分开,不确定为什么需要

    #include <stdio.h>
    #include <stdlib.h>
    int protect(int max_size_1 ,int max_size_2 , int current_1,int current_2,const int arr[max_size_1][max_size_2])
    {
    for(int f1=0;f1<max_size_1;f1++)
    {
    for(int f2=0;f2<max_size_2;f2++)
    {
    printf("%d---%dn",arr[current_1][current_2],arr[f1][f2]);
    if((f1!=current_1 && f2!=current_2) && arr[current_1][current_2]==arr[f1][f2])
    {
    return 0;
    }
    }
    }
    return 1;
    }
    int main()
    {
    int i, j, f1, f2, count=0;
    printf("[i][j] = ");
    scanf("%d", &i);
    int arr[i][i];
    j = i;
    for (f1 = 0; f1<i; f1++) 
    {
    for (f2 = 0; f2<i; f2++) 
    {
    printf("a[%d][%d] = ", f1, f2);
    scanf("%d", &arr[f1][f2]);
    }
    }
    for (f1 = 0; f1<i; f1++)  
    {
    for (f2 = 0; f2<i; f2++) 
    {
    if (protect(i,j,f1,f2,arr)==1){
    count++;
    }
    }
    }
    printf("nn%dn", count);
    return 0;
    }
    

相关内容

  • 没有找到相关文章

最新更新