私は練習しようとしていますCプログラミングは非常に基本的なものです。 while
ループを使用してうまく動作する配列で検索しようとしましたが、For
ループを使用しようとすると、実際の出力が得られません。ここに私が試したし、ほぼ正常に動作したコードは次のとおりです。アレイを検索すると適切な出力が得られません
#include<stdio.h>
int main()
{
int arr[100], element, num, i;
int cnt = 1;
printf("Enter no of elements: ");
scanf("%d", &num);
printf("\nEnter the values: ");
for(i = 0; i < num; i++)
{
scanf("%d", &arr[i]);
}
printf("\nEnter the element to be searched: ");
scanf("%d", &element);
for(i = 0; i < num; i++)
{
if(arr[i] == element)
{
printf("\nNumber found at the index = %d", i + 1);
}
else
{
/**To prevent repeated output but trying to remove this section - Starts**/
if(cnt == 1)
{
printf("\nNumber not found");
}
cnt += 2;
/**To prevent repeated output but trying to remove this section - Ends**/
}
}
return 0;
}
検索値が一致したときに問題がある、それは同様にマッチした値のインデックスを取得し、それは「ナンバーが見つからないメッセージを出力します'。値が一致しない場合は、「番号が見つかりません」が返されます。ここで私は検索値のために取得しています出力されます:
ループ内で 'cnt'の値を再初期化する必要があります。 – t0mm13b
さて、それは明らかです:番号が見つからないというメッセージは、あなたが探している番号ではない配列に数字がある場合に常に現れます。ほとんどの配列でそうです。番号が配列内にあるかどうかだけを知るか、配列内のすべての要素を探したり見つけたりすることはできません。 –