Witam mam zrobic program w c++ ktory ma za zadanie znaleŹĆ poszukiwany element x w tablicy ktora generujemy w sposob pseudolosowy, gdzie mozna wybrac sposob przeszukiwania: liniowego lub binarnego.
Mysle ze powinno to byc cos takiego ale mam sporo bledow w tym kodzie wiec prosze o poprawe:
# include <iostream>
using namespace std;
int liniowe(int tab[n], int x)
{
for(int i=0; (i<n)&&(tab[i]!=x); i++);
return i;
cout<<i;
}
int binarne(int tab[], int x)
{
enum{TAK,NIE} znalazlem=NIE;
int left=0, right=n-1, mid;
while(left<=right && znalazlem!=TAK)
{
mid=(left+right)/2;
if(tab[mid]==x)
znalazlem=TAK;
else
if(tab[mid]<x)
left=mid+1;
else
right=mid-1;
}
if(znalazlem==TAK)
return mid;
else return -1;
cout<<mid;
}
int main()
{
int tab[n];
int z;
int u;
cout<<"ile elementow ma miec zbior";
cin>>n;
cout<<"do jakiej liczby ma byc zakres losowanych liczb";
cin>>z;
cout<<"podaj szukany element";
cin>>x;
srand(time(0));
for(int i=0; i<n; i++)
{
tab[n] = rand() %z;
}
cout<<"Wybierz metode przeszukiwania:";
cout<<"1 - liniowe";
cout<<"2 - binarne";
cin>>u;
if(u==1)
{
liniowe(tab[n], x)
}
if(u==2)
{
binarne(tab[n], x)
}
system("PAUSE");
return 0;
}