Witajcie,
Mam w zadaniu napisać funkcje szukaj która:
wyznacza indeks elementu szukanego(podaje użytkownik) w tablicy, o ile wartość ta znajduje się w tablicy jeśli nie wypisać "Brak".
Tablica jest ustawiona na sztywno rozmiar = 10.
Napisałem taką funkcję ale jak wpisuje 15 to wyskakuje mi 9 (powinna wypisać "BRAK") , albo jak wpisuje 25 to wypisuje 1? Dlaczego ?
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
void losuj( short n, int t[])
{
for(int i=0; i<n; i++)
{
t[i] = rand()%10+1;
}
}
void wypisz( short n,int t[])
{
for(int i=0; i<n; i++)
{
cout<<"t["<<i<<"] = "<<t[i]<<endl;
}
}
void ile_parzystych( short n, int t[])
{
int ile=0;
for(int i=0; i<n; i++)
{
if(t[i]%2==0)
{
ile++;
}
}
cout<<"Ilos elementow parzystych jest : "<<ile<<endl;
}
void szukaj( short n, int t[], int szukana )
{
bool wynik = false;
for( int i =0; i<n; i++)
{
if( t[i] == t[szukana])
wynik=true;
}
if ( wynik == false)
{
cout<<"BRAK";
}
else
cout<<t[szukana];
}
int main()
{
short n = 10;
int t[n];
losuj(n,t);
wypisz(n,t);
ile_parzystych(n,t);
int a;
cout<<"Podaj szukana liczbe : ";
cin>>a;
szukaj(n,t,a);
return 0;
}