Array auf doppleten Inhalt prüfen

Winner

Erfahrenes Mitglied
Hallo zusammen!

Ich habe da mal ein anliegen an euch! Könnt ihr mir sagen, wie ich ein Array prüfen kann, ob ein eintrag bereitsvorhanden ist oder nicht! Das muss irgendwie mit zwei schleifen funktioniern und ein paar if blöcken läuft aber nicht ganz bei mir! Habt ihr da zufällig schon mal was gemacht!

Mein code der nicht funktioniert sieht so aus: einfach mal ein aauszug

Code:
	for(j=0;j<=indStaInfo-1;j++){
	
			if(k==0){
			genSta[k].insert(0,StaInfo[j].substr(10,4));
			k++;
			
			}

			//Hier muss die Prüfung etwas anders verlaufen als wie beim datum, da hier der wechsel nie gelich ist!
			
			int m=0; //Immer wieder neu Initalisiern, da das neue Array von vorne her abgesucht werden musss.
			
			for(m=0;m<=k-1;m++){
				if(genSta[m].data()==StaInfo[j].substr(10,4)){  //Sobald etwas gleiches gefunden wurde kann ich die forschleife verlassen
					gefunden=true;
				}
				else
					gefunden=false;
			
			}//ende for m

			if(gefunden==false){
		genSta[k].insert(0,StaInfo[j].substr(10,4));
		k++;
			}
		
		}//ende forSchleife j
Besten dank
 
Hoffe, dass ich deine Frage richtig verstanden habe...


Also, hiermal mein Vorschlag:
Man löst das ganze mit einer Struktur und einer Array...

Code:
//die Struktur eines Feldes

struct S_Feld
{
bool besetzt;
char inhalt[100];
}

S_Feld[x];  //x steht für die anzahl der Felder

Soweit alles klar? Dann kanns ja weitergehen^^

Code:
// Feld besetzten 

cout << " Welches Feld möchtem Sie besetzen? ";
int eingabe;
cin  >> eingabe;

S_Feld[eingabe].besetzt = true;  //Diese Feld besetzen

//Was soll nun hier gespeichert werden?
cout << " Was soll hier gespeichert werden? ";
cin.get(x.inhalt, 99);


So, das müsste dir so in etwa helfen.... allerdings hab ich es nicht überprüft, werd ich morgen noch machen......
 
Soweit ich das verstehe meint er ob ein Wert doppelt vorkommt ?
Wenn ja dann beim eintragen überprüfen (for schleife) ob dieser Wert schon drinne ist.

mfg
 
Das liegt daran, dass du keine char-arrays miteinander vergleichen kannst.
Versuch es mit strcmp, sofern du denn mit char-arrays hantierst.

Noch was:
Wieso m<=k-1? Es wäre viel eleganter mit m < k zu lösen ;).
 
Zurück