2012-05-08 3 views
-2

두 배열에 포함 된 값과 그 값의 수를 찾는 프로그램을 만들었지 만 프로그램이 작동하지 않습니다.배열 사이의 공통 값을 찾고 또한 카운트를 찾을 필요가

#include<stdio.h> 
#define SIZE 100 
void search(char arr1[10][10],char arr2[10][10]) 
    {  //int x = sizeof(arr1); int y = sizeof(arr2) 
     int j,k; 
      for(j=0;j<SIZE-1;j++) 
      { 
       for(k=0;k<SIZE-1;k++) 
       { int count = 0; 
        if(arr1[j][0] == arr2[k][0]) 
        { 
         count += 1; 
        } 

       } 
       return count; 
      printf("StudentID\t : BooksTanken\t\n"); 
        printf("%c \t\t %d \t\n",arr1[j][0],count); } 
    } 
int main() 
{ 
// char array1[2][1],array2[5][1]; 
    char array1[3][2]={ 
            {'ID1','srini'}, 
            {'ID2','Albie'}, 
            {'ID3','Kaasi'}}; 
      char array2[6][2]={ 
            {'ID1','OOPS'}, 
            {'ID2','STS'}, 
            {'ID1','STS'}, 
            {'ID1','CTC'}, 
            {'ID3','MAT'}, 
            {'ID2','MAT'}}; 
    printf("We're Begining the Comaprison Here !!\n\n"); 

    search(array1,array2); 
} 

어떤 도움을 주시면 감사하겠습니다.

+0

/* 위의 내용에서 사람 이름과 그의 책을 몇 권이나 찾으셨습니까?/ –

+1

질문에있는 코드에 컴파일 오류가 너무 많아서 간결한 방식으로 대답하기 어렵습니다. 대신 게시하기 전에 기본 C 프로그래밍을 읽은 다음 질문을 매우 구체적으로 유지해야합니다. 예 : 'ID1'은 당신이 생각하는 것이 아닙니다 –

답변

3

C의 문자열을 읽어야합니다. 이것은 문자열로 표현되어야하며, 예를 들어 다음과 같이 사용해야합니다. strcmp()은 수동 루프가 아닌 비교를 수행합니다. 또한 struct에 대해 배우고 문자 배열이 아닌 배열을 사용하면 큰 도움이됩니다.

+0

비록 문자를 문자열 컴파일러로 변환하지만 문자를 인식하지 못합니다 –

3

조각은 :

#define SIZE 100 
void search(char arr1[10][10],char arr2[10][10]) 
.... 
      for(j=0;j<SIZE-1;j++) 

.... 
char array1[3][2]={ 

당신은 차이를 볼 수 있습니까? 100, 10, 3

에디스 :

arr[0] = 0; 
arr[1] = 0; 
arr[2] = 0; 
arr[3] = 0; 
arr[4] = 0; 
arr[5] = 0; 
arr[6] = 0; 
arr[7] = 0; 

... 도착 [98] = 0

for (i < 0; i < SIZE-1; i++) { 
    arr[i] = 0; 
} 

가 컴파일러에 의해 확장 될 수있다 : 당신은 문제를 보여 ;

배열에 arr [0], arr [1], arr [2]에 할당 된 메모리 만 있습니다. 그래서 참조하는 arr [3]은 나쁜 일이 될 수 있습니다 ...

EDITH 2 : 질문 : 왜 'SIZE-1'입니까?

+0

필자와 필자의 의견에 동의합니다.하지만 배열 크기가 더 커질 수 있다면 미래의 경우에 100을 선언 할 것입니다. 프로그램이 작동해야합니다. –

+0

hmmm, 회의적으로 보자 : 3by 2 요소의 배열이 있지만이 배열에서 100 개 이상의 요소를 반복한다. 이것은 오류로 이어질 수 있습니다. –

관련 문제