English 中文(简体)
将数组指针中的每个元素相互验证
原标题:verify each element to one other in a array pointer
  • 时间:2011-02-16 21:31:17
  •  标签:
  • c

C Experts, I have an array of pointers to strings. I need to compare each array element with all other array elements and throw error if they are same. Here is the piece of code I have written and got stuck. Please help me.

# define FOUND 1
# define NOTFOUND 0

int k,flag,a;
char cmp_string[10]; //used to get one array element to compare with all other array elements

char *values[]={010,020,030,040}; //valid case that s how it should be
char *vales[]={010,020,020,030}; wrong or throw error because in array i should have only unique values

int size=4;
for(k=0; k<=size;k++){
    strcpy(values[k],cmp_string);
    flag=NOTFOUND;

    int counter=k+1;

   for(int n=counter;n<=size;n++)
   {
       a=((strcmp(values[n],cmp_string) || (strcmp(values[k-1],cmp_string)))
      // stuck here what if k value is 2 I wont be able to compare with zero or first element of array.

       if(a==0){
        throw error same name for the operation
        flag=FOUND;
        break;
   }
 }//for int n;

}//for int k;

if(flag==NOTFOUND){
    True or PASS
}
}
问题回答

快速解决方案:对数组进行排序(例如使用内置的qsort函数),然后扫描它,比较相邻的元素;如果两个是相同的,你有一个重复。

在完成排序之前,如果在比较功能中发现两个比较项目相同,您还可以知道您有重复项。

如果我正确理解您的问题,那么您正试图将strcmp转换为如果字符串相同则返回非零的值,否则返回零:

a = (strcmp(whatever) != 0) || (strcmp(whatever else) != 0);




相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签