In C++ einen Array auf einen bestimmten Wert durchsuchen?
Hallo!
Wie kann ich einfach in einem Array der mit Random Zahlen gefüllt ist eine vom Benutzer eingegebene Zahl suchen? Mein Lösungsansatz bis her sieht so aus:
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
int main()
{
int Tabelle[10];
int i, zahl;
cout<<"Bitte geben Sie eine Zahl ein: ";
cin>>zahl;
for(i=0;i<=9;i++){
Tabelle[i]=rand();
cout<<setw(5)<<Tabelle[i]<<endl;
}
for(i=0;i<=9;i++){
Tabelle[i]=rand();
if(Tabelle[i]==zahl){
cout<<"Die Zahl ist das "<<i+1<<"ste Elemente in der Tabelle"<<endl;
return 0;
}else{
cout<<"Die Zahl ist nicht in der Tabelle"<<endl;
}
}
return 0;
}
wie ihr seht soll das alles einfach gehalten werden und möglichst nur mit einer for-Schleife und if Bedinungen und so gelöst werden... Aber wie bekomme ich das hin. Das Beispiel oben funktioniert nicht..
LG
1 Antwort
du belügst dich selbst: in der 1. for-schleife erstellst du die tabelle und gibst sie aus.
in der 2. erstellst du sie neu (ev. nur bis zum treffer) glaubst aber der meldung nicht, da du die neuen werte nicht siehst.
also: die zeile
Tabelle[i]=rand();
in der 2. schleife entfernen.
von der programmlogik her ist das auch die einfachste variante: entsprechend den beiden blöcken: 1. initialisierung, 2. verarbeitung.
- bei nur einer schleife müsstest du eine boolean treffer einführen und zum schluss abfragen.
Daaange. Hat funktioniert :D Aber jetzt gibt er halt solange "Diese Zahl ist nicht ind er Tabelle" aus bis die Zahl gefunden wurde, gibts ne möglichkeit das er erst alle Zahlen durch geht und dann bestimmt ob die Zahl in der Tabelle ist oder nicht?