Alphabetische Reihenfolge in C++



  • Aufgabe lautet wie folgt:
    Schreiben sie ein C++ Programm dass mittels Tastatur beliebig viele Vornamen einliest und denjenigen Vornamen auf dem Bildschirm ausgibt der bei alphabetischer Reihenfolge am weitesten hinten steht.
    Mit der Eingabe von ":" soll die Eingabe beendet werden.

    Testlauf:
    Vorname ? >> Jonathan
    Vorname ? >> Albrecht
    Vorname ? >> Dieter
    Vorname ? >> Martin
    Vorname ? >> Gabriel

    Ergebnis = Martin
    ...

    *************************************************************

    #include <iostream>
    #include <strin>

    using namespace std;

    int main ()
    {
    string name, max""; // max"" << ist das der befehl für den maximal beginnenden????
    int i;

    while (true)
    {
    cout <<"Vorname = ?"; // Einen beliebigen Namen einlesen
    cin >> name; //eingabe des namens

    if(name ==":")
    {
    break;
    }
    if (name > max) // nutzt der hier nur den 1. buchstaben?!?!?!?!
    max = name;
    }

    cout <<"Ergebnis :" << max << endl << endl;
    return 0;
    }

    *************************

    Also hier gehts sich halt darum den 1. Buchstaben und dessen "wertigkeit" ...
    Ist das "nur" der Befehl max="" ???

    Bitte um ne kurze Erläuterung!

    Dankeeee



  • 1. Das hier ist das C++/CLI Forum, Du bist also falsch hier!
    2. Benutze die Code Tags (bzw. die C/C++) um deinen Code zu formatieren

    Hoffentlich verschiebt dich ein Mod. bald...

    Simon



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • // nutzt der hier nur den 1. buchstaben?

    Nein. Warum testest du es nicht einfach mit unterschiedlichen Namen, die mit den gleichen Buchstaben beginnen.

    !?!?!?!

    Alles ueberfluessig!



  • Pack die Namen doch einfach ein einen Container (z.B std::vector) und dann sortierst du den und gibst das letzte Element aus.



  • Die Komplexitaet ist aber ungemein groesser, zumindest theoretisch.



  • drakon schrieb:

    Pack die Namen doch einfach ein einen Container (z.B std::vector) und dann sortierst du den und gibst das letzte Element aus.

    oder gleich std::set. Der sortiert sich selbst



  • knivil schrieb:

    Die Komplexitaet ist aber ungemein groesser, zumindest theoretisch.

    Ja. Das stimmt schon, aber ich habe nichts davon gelesen, dass es performant sein muss.
    Und das er die Lösung ja fast hat, habe ich gar nicht gesehen, weil ich Code ohne Tags kaum noch anschaue..
    Dazu kommt noch, dass das Beispiel wahrscheinich nicht sehr relevant ist.

    Ich würds wahrscheinlich auch mit einem Durchgang machen.


Anmelden zum Antworten