我如何制作一个程序来从2d数组中删除相同的一组值?

问题描述 投票:0回答:1

我是编程新手,所以如果有人可以详细解释如何进行编程。那会很有帮助。这是我能想到的:

#include <stdio.h>

int remove_duplicates(int array[][2]);

int main(){

    int i,j,num;

    printf("Enter the number of sets: ");
    scanf("%d", &num);

    int sets[num][2];

    printf("Enter elements in the array: ");

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

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

            scanf("%d", &sets[i][j]);

        }
    }

    remove_duplicates(sets);

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

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

            printf("%d," ,sets[i][j]);
        }
        printf("\n");
    }   
}

int remove_duplicates(int array[][2]){

    int i,j,k,n;

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

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

            if(array[i][j] == array[i+1][j+1]){

                for(k=j;k<n;k++){

                    array[i][k] == array[i][k+1];
                }
                n--;
                j--;
            }
        }
    }
}
c multidimensional-array
1个回答
0
投票

实际上,您不能从数组中删除元素。您可以跟踪将数组移到数组开头的实际非重复元素的数量。

例如,如果需要,您可以用一些值填充“已删除”元素。

© www.soinside.com 2019 - 2024. All rights reserved.