Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
  Druckansicht

  Brauche Hilfe bei kleinem c++-progg
Autor Nachricht
    BeitragVerfasst: 18.11.2006 15:53 
Mitglied
Mitglied
Benutzeravatar
Offline

Beiträge: 196
Registriert: 06.12.2004 15:56
Wohnort: funktion_void()
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....

________________________
Es gibt 10 verschidene arten von Menschen: die einen verstehen binär und die andren nicht.
Bild


Nach oben
 Profil  
 

  re: Brauche Hilfe bei kleinem c++-progg
    BeitragVerfasst: 18.11.2006 16:13 
Moderator
Moderator
Benutzeravatar
Offline

Beiträge: 1533
Registriert: 19.04.2002 01:01
Wohnort: Ulm
Nimm doch einfach ein paar zusätzliche Variablen.

Stell mir das z.b. so vor:

Code:
if (zeichen=="a") zahl=1;
if (zeichen=="b") zahl=2;
if (zeichen=="c") zahl=3;


und dann im zweiten Teil:
Code:
if (zahl<zahl3<zahl2)
{
cout<<zeichen<<"\n"<<zeichen3<<"\n"<<zeichen2<<endl;
}


So könnte ich mir das vorstellen. Falls das so nicht geht möge man mir verzeihen, ich kann kein c++ ;)

Edit:
Ich würde das ganze übrigens anders anpacken (zumindest in PHP ;)). Einfach die Zeichen in ein Array packen und eine Sortierfunktion drüberjagen. Falls man in c++ nur Zahlen sortieren können sollte, dann halt einfach kurz in ASCII umwandeln. Bei dieser einfachen Version hätte man halt keine IF-Schleifen, von dem her bringts dir vermutlich nicht allzu viel :D

________________________
"Ich habe keinen Stil. Ich bin ich." - Helge Schneider


Zuletzt geändert von Moonwulf am 18.11.2006 16:29, insgesamt 2-mal geändert.

Nach oben
 Profil  
 

  re: Brauche Hilfe bei kleinem c++-progg
    BeitragVerfasst: 18.11.2006 16:26 
Mitglied
Mitglied
Benutzeravatar
Offline

Beiträge: 196
Registriert: 06.12.2004 15:56
Wohnort: funktion_void()
Da war schonmal ein denkfehler.....
wie soll er den buchstaben ausgeben wenn er einer zahl zugewiesen wurde.... -.-
hab bei der gelegenheit auch gleich das so umgeändert.

Code:
if (zahl<zahl3 && zahl3<zahl2)

________________________
Es gibt 10 verschidene arten von Menschen: die einen verstehen binär und die andren nicht.
Bild


Nach oben
 Profil  
 

  
    BeitragVerfasst: 18.11.2006 16:30 
ehemaliger Moderator
ehemaliger  Moderator
Offline

Beiträge: 1790
Registriert: 21.04.2000 01:01
Wohnort: schweiz
salü

ich bin halt eher von der faulen sorte und überlasse das sortieren der stl ;-)

----- cut -----
#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;


int main(){
vector<char> data(3);

cin >> data[0];
cin >> data[1];
cin >> data[2];

sort(data.begin(), data.end());

cout << data[0] << " " << data[1] << " " << data[2] << endl;
}
----- cut -----

mfg

cli

edit: @Moonwulf: sehe ich genau so - ne sortier-funktion implementiert man heutzutage nicht mehr selber - wie auch einen container


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 18.11.2006 16:33 
Mitglied
Mitglied
Benutzeravatar
Offline

Beiträge: 196
Registriert: 06.12.2004 15:56
Wohnort: funktion_void()
mhhh lol....

ich hab aber keinen bock 20 leuten die grademal wissen was eine if schleife ist das alles zu erklären ^^, und ich stecke auchnoch in den kinderstiefeln bei c++, ich kann das mal als beispiel bringen, mal sehen was mein lehrer sagt ^^

aber ich wüsste trotzdem gerne warum er da mekert:
if (zeichen=="a") zahl=1;

________________________
Es gibt 10 verschidene arten von Menschen: die einen verstehen binär und die andren nicht.
Bild


Nach oben
 Profil  
 

  
    BeitragVerfasst: 18.11.2006 16:39 
ehemaliger Moderator
ehemaliger  Moderator
Offline

Beiträge: 1790
Registriert: 21.04.2000 01:01
Wohnort: schweiz
salü

hehe, wenn du irgendwas mit daten machen musst, schau immer zuerst in der stl ob du was findest, das dir hilft :-)

"a" -> string mit dem wert a
'a' -> zeichen mit dem wert a

mfg

cli

ps: das umwandeln des zeichen in eine zahl ist überflüssig - intern werden zeichen sowieso als zahlen gespeichert (A entspricht 65 wenn ich mich nicht täusche)


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 18.11.2006 16:40 
Mitglied
Mitglied
Benutzeravatar
Offline

Beiträge: 196
Registriert: 06.12.2004 15:56
Wohnort: funktion_void()
arrgs...

und an sowas scheitere ich.....

thx ^^

________________________
Es gibt 10 verschidene arten von Menschen: die einen verstehen binär und die andren nicht.
Bild


Nach oben
 Profil  
 

Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


  Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
RSS-Feed
Impressum und Kontakt
Style created by phpBB3 styles , ziola alveo akuna
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Optimized by SEO phpBB
Deutsche Übersetzung durch phpBB.de