Hi!
Wir hatten in informatik eine tolle Hausaufgabe: Erstelle ein Programm, dass 3 eingegebene Buchstaben von a-z sortiert, also bei eingabe C A B soll A B C rauskommen. Im bestfall dürften nur if-schleifen benutzt werden( haben paar naps in der klasse die vorher noch nie programmiert haben.....)
Bis vor einer Stunde hatte ich keine Ahnung wie ich das gescheit realisieren konnte. dan kam mir ein gedanke: ich weiße den eingegebenen Buchstaben zahlen zu und werte die dan mit ">" und "<" aus. soweit sogut aber an der umsetztung haperts noch bischen:
das kommt dreimal (dan halt mit zeichen2 oder zeichen3)
Code:
cin>>zeichen;
if (zeichen=="a") zeichen=1;
if (zeichen=="b") zeichen=2;
if (zeichen=="c") zeichen=3;
if (zeichen=="d") zeichen=4;
if (zeichen=="e") zeichen=5;
if (zeichen=="f") zeichen=6;
if (zeichen=="g") zeichen=7;
if (zeichen=="h") zeichen=8;
if (zeichen=="i") zeichen=9;
if (zeichen=="j") zeichen=10;
if (zeichen=="k") zeichen=11;
if (zeichen=="l") zeichen=12;
if (zeichen=="m") zeichen=13;
if (zeichen=="n") zeichen=14;
if (zeichen=="o") zeichen=15;
if (zeichen=="p") zeichen=16;
if (zeichen=="q") zeichen=17;
if (zeichen=="r") zeichen=18;
if (zeichen=="s") zeichen=19;
if (zeichen=="t") zeichen=20;
if (zeichen=="u") zeichen=21;
if (zeichen=="v") zeichen=22;
if (zeichen=="w") zeichen=23;
if (zeichen=="x") zeichen=24;
if (zeichen=="y") zeichen=25;
if (zeichen=="z") zeichen=26;
Da mekert er erstmal rum:
error C2446: '==' : Keine Konvertierung von 'char *' in 'int'
if (zeichen==a) zeichen=1; dan weißt er aber nichts zu, er führt die if schleife garnicht erst aus.....
am ende ausgabe:
Code:
cout<<"Hier alle drei Buchstaben der Gr"<<oe<<ss<<"e nach sortiert"<<endl;
if (zeichen<zeichen3<zeichen2)
{
cout<<zeichen<<"\n"<<zeichen3<<"\n"<<zeichen2<<endl;
}
if (zeichen<zeichen2<zeichen3)
{
cout<<zeichen<<"\n"<<zeichen2<<"\n"<<zeichen3<<endl;
}
if (zeichen2<zeichen3<zeichen)
{
cout<<zeichen2<<"\n"<<zeichen3<<"\n"<<zeichen<<endl;
}
if (zeichen3<zeichen2<zeichen)
{
cout<<zeichen3<<"\n"<<zeichen2<<"\n"<<zeichen<<endl;
}
if (zeichen2<zeichen<zeichen3)
{
cout<<zeichen2<<"\n"<<zeichen<<"\n"<<zeichen3<<endl;
}
if (zeichen3<zeichen<zeichen2)
{
cout<<zeichen3<<"\n"<<zeichen<<"\n"<<zeichen2<<endl;
}
hoffe das ist so richtig.....
Also wie kann ich den Buchstaben Zahlen zuweißen? oder hat jemand noch einebessere Idee zur umsetztung des programms?
mfg
edit:
Code:
char zeichen, zeichen2, zeichen3;
vergessen mit aufzuschreiben....