Odpowiedź :
Odpowiedź:
#include <iostream>
using namespace std;
const int N = 5;
int a[N];
void WprowadzDane() {
for (unsigned i = 0; i < N; i++) {
cout << "Podaj dana nr " << i << ": ";
cin >> a[i];
}
}
int ZnajdzDana(int wartosc) {
int index = -1;
for(int i = 0; i < N; i++){
if(a[i] == wartosc){
index = i;
}
}
return index;
}
int main() {
int wartosc, pozycja;
WprowadzDane();
cout << "Podaj dana do wyszukania: ";
cin >> wartosc;
pozycja = ZnajdzDana(wartosc);
if (pozycja >= 0)
cout << "Znaleziono wartosc " << wartosc << " na pozycji " << pozycja << " (pozycje liczone sa od 0)" << endl;
else
cout << "Nie znaleziono wartosci " << wartosc << endl;
return 0;
}
Wyjaśnienie:
Ten program co wysłałeś to wyszukiwanie binarne i przez to, że jest tablica uporządkowana to czas wyszukiwania jest logarytmiczny, jak chce się zrobić w nieposortowanej to czas wyszukiwania będzie liniowy
Można też to zrobić w jednej linijce korzystając z stla