Mi ezzel a c++ programrészlettel a baj?
#include <iostream>
using namespace std;
int kereses(int n,int i,int t[100])
{int p=0, k;
cin>>n;
for(i=0;i<n;i++)
cin>>t[i];
cout<<"Amit keresunk:";
cin>>k;
for(i=0;i<n;i++)
if (k==t[i])
p++;
if (p>0)
cout<<"Benne van!";
else
cout<<"Nincs benne!";
}
int main()
{
int n,i,t[100];
cout<<kereses(n,i,t[100]);
}
Miért mi a baj vele?
Fordítási hiba van? Mi a hibaüzi?
Futtatási hiba van? Mi a hibaüzi vagy mi műxik másképp mint az elvárt?
Az, hogy amikor függvénynek adsz át tömböt, akkor nem a teljes tömböt kell átadni, csak egy pointert és a tömb hosszát (ha fix 100, nem fontos).
int kereses(int n,int i,int *t)
vagy
int kereses(int n,int i,int t[])
Hát sok minden sz...
#include <iostream>
using namespace std;
void kereses(){
int p = 0, k, i, n, t[100];
cout << "Hány elem legyen a tömbben: ";
cin >> n;
for(i = 0; i <n ; i++){
cout << i + 1 <<".elem: ";
cin >> t[i];
}
cout << "Amit keresunk:";
cin >> k;
for(i = 0; i < n; i++) if (k == t[i]) p++;
if ( p > 0)
cout << "Benne van!\n";
else
cout << "Nincs benne!\n";
}
int main()
{
kereses();
system("Pause");
return(0);
}
Akkor legyen olyan is:
#include <iostream>
using namespace std;
string kereses(int tomb[], int meret, int keres){
int talal = 0;
for(int i = 0; i < meret; i++) if (keres == tomb[i]) talal++;
if ( talal > 0)
return("Benne van!\n");
else
return("Nincs benne!\n");
}
int main(){
int k, n, t[100];
cout << "Hány elem legyen a tömbben: ";
cin >> n;
for(int i = 0; i < n ; i++){
cout << i + 1 <<".elem: ";
cin >> t[i];
}
cout << "Amit keresunk:";
cin >> k;
cout << kereses(t, n, k);
system("Pause");
return(0);
}
Ha jól látom, ez egy szimpla lineáris kereséses házi feladat.
Hogy egyáltalán működőképes legyen, minimum az alábbi módon kellene kinéznie:
szóval:
- a visszatérési értékkel rendelkező függvények adjanak vissza visszatérési értéket, és használjuk ki azokat
- a tömb nevét kell csak függvény paraméterének átadni
Ha még szebben, akkor így:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!