+2 oy
(290 puan) tarafından soruldu
tarafından düzenlendi

[code=cpp]
#include<iostream>

using namespace std;

ardisilArama(int A[],int N,int aranan) {

        int k;
        for(k=0;k<N;k++){
            if(A[k]==aranan)
            return k;
        }
        return -1;
    }

int main() {
    int B[]={13,12,15,11,26,5,47,10,27,34};
    int indis;
    int ara;
    cout<<"aranan sayi: "<<ara;
    indis=ardisilArama(B,10,ara);
    if(indis==-1)
    cout<<"aranan bulunmadi..."<<endl;
    else
    cout<<"aranan sayi ="<<indis<<endl;
}[/code]

1 cevap

+2 oy
(16.4k puan) tarafından cevaplandı
tarafından düzenlendi
ardisilArama fonksiyonuna parametre olarak "ara"yı gönderiyorsun ama ona herhangi bir değer atamıyorsun. int ara=47 olarak değiştirsen :
aranan sayi: 47
aranan sayi =6
olarak çıktı verir. indis i yazdırdığın cout satırında da aranan sayi yerine array indeks diyebilirsin.

mesela sayıyı stdin'den alacak şekilde yapabilirsin, ör:
[code=cpp]
...
int ara;
cout<<"sayi gir: ";
cin>>ara;
cout<<"aranan sayi: "<<ara<<"\n";
indis=ardisilArama(B,10,ara);
if(indis==-1)
cout<<"aranan bulunmadi..."<<endl;
else
cout<<"array indeksi: "<<indis<<endl;
[/code]
...