0

このコードでは、要素 '7' を見つける必要がある場合、配列 = 2 の位置を指しますが、複数の位置を取得する方法、配列に [4,7,7,8,9] がある場合の答えarray=1 & array=2.. として位置を指す必要があります。

#include<stdio.h>


int main()
{
 int i;
 int a[5]={4,5,7,8,9};
 int ele,temp=0,pos=0;
 printf("Enter the element to be search\n");
 scanf("%d",&ele);


 // searching for the element

 for (i=0; i<5; i++)
 {
    a[i]=a[i];
     if (a[i]==ele)
     {
       temp=1;
       pos=i;
     }


  }

   if (temp==1)
   printf("Element found %d , position==%d,",ele,pos);
   else
   printf("Element not found\n");
} 
4

2 に答える 2

1

これを試して..

#include<stdio.h>


int main()
{
 int i;
 int a[5]={4,5,7,8,9};
 int found_indices[5]; // array used to store indices of found entries..
 int count = 0; //n entries found;
 int ele;
 printf("Enter the element to be search\n");
 scanf("%d",&ele);


 // searching for the element

 for (i=0; i<5; i++)
 {
     //a[i]=a[i];
     if (a[i]==ele)
     {
       found_indices[count ++] = i; // storing the index of found entry
     }
  }

   if (count!=0) {
       for (i=0; i<count; i++)
           printf("Element found %d , position==%d,", ele, found_indices[i]);
   }
   else
       printf("Element not found\n");
}
于 2012-12-25T08:35:33.437 に答える
0

pos 変数は配列ではなく単なる整数であるため、1 つの値のみが格納されます。代わりに、それを配列にしてから、各ファウンド結果の値を pos 配列に格納します。

于 2012-12-25T08:29:11.567 に答える