Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
7934
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von FaNo86
    FaNo86 FaNo86 ist offline Mitglied Silber
    Registriert seit
    Jan 2005
    Ort
    Baden-Württemberg
    Beiträge
    86
    Hi ich habe folgendes Problem und zwar will ich ein String (Zeichenkette) umdrehen in einem anderen String speichern und dann vergleichen bis jetzt bin ich soweit gekommen doch wenn ich den string umdrehe hängt es mir jedes mal irgendwelche Zeichen hinten an.

    #include <iostream>

    using namespace std;

    int main()
    {

    char pal[20];
    char dreh[20];
    int j=0;

    cout<<"Bitte ein Wort oder Satz ein geben: "<<endl;
    cin.getline(pal,20);

    for(int i=strlen(pal)-1;i>=0; i--)
    {
    dreh[j++]=pal[i];


    }
    cout<<dreh;




    cout<<endl;
    system("pause");
    return 0;
    }
     

  2. #2
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    338
    Hallo

    füge doch mal vor dem cout << dreh;

    Diese Zeile ein:
    Code :
    1
    
    dreh[j] = "\0";

    ich vermute das "dreh" Feld besitzt keine Ende Markierung
    und füllt es dann mit irgendwelchem Mist.

    MfG Turri
     

  3. #3
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Zitat Zitat von Turri
    Code :
    1
    
    dreh[j] = "\0";
    Wohl eher ein
    Code :
    1
    
    dreh[j] = '\0';


    Nur so als Anmerkung:
    Wieso verwendest du nicht die stl. Die hat dafuer speziell formulierte
    Algorithmen, da kann sowas nicht mehr passieren. In deinem Bsp brauchst du
    reverse:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #include <algorithm>
    #include <iostream>
    #include <string>
     
    using namespace std;
     
    int main(){
        string input = "";
        cin >> input;
        string revrs = input;
        reverse(revrs.begin(), revrs.end());
        cout << input << endl << revrs << endl;
    }


    Gruß

    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

  4. #4
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    338
    Zitat Zitat von RedWing
    Wohl eher ein
    Code :
    1
    
    dreh[j] = '\0';

    Oops, stimmt, vertan

    MfG Turri
     

  5. #5
    Avatar von FaNo86
    FaNo86 FaNo86 ist offline Mitglied Silber
    Registriert seit
    Jan 2005
    Ort
    Baden-Württemberg
    Beiträge
    86
    Ja so funktioniertes vielen Dank für eure Antworten.
    Ich mache es so weil weil wir es in der Schule so machen müssen
    aber trozdem danke für den Tipp

    mfg Fabi
     

  6. #6
    cpp anfänger Tutorials.de Gastzugang
    Hi zusammen,
    ich habe mal eine Frage kann ich nach der eingabe eines Satzes/Namen feststellen wieviele stellen der Satz oder Name hat ?

    Weil ich hab ein Problem mit meinen ersten versuchen in sachen Array...
    zur Erklärung, ich versuche gerade C++ zu lernen und stelle mir dazu immer selbt Aufgaben bzw. ich überlege mir was, und versuche es dann umzusetzten.

    Mein Ziel hiermit ist nach einem Namen zu Fragen und diesen dann rückwerts wieder auszugeben,
    aber ich bräuchte einen Befehl bzw. eine abfrage wieviele stellen der Name hat, um zu vermeiden das er mir bei den überschüssigen leeren Felder irgendwelche Zeichen ausspuckt...

    ich finde zwar hier Befehle wie es gehen würde aber mein Ziel ist ja nicht Copy and Paste aus Foren

    Und kann mir jemand ein Buch empfelen das auch wirklich für dumme und gut ist weil ich habe zwar jetzt schon in einige Bücher reingelesen,
    aber irgendwie sind die oft schlecht verständlich und ohne Vorwissen kommt man bei den meisten nicht alleine klar....

    anbei mal mein bisheriger quelltext
    nicht wundern sind ja meine ersten versuche...

    Danke schonmal im vorraus...

    // Erster Test Array !!
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>

    using namespace std;
    main (void)
    {
    int i=19;
    char name[20];

    cout<<"Bitte geben sie Ihren Namen ein: ";
    cin.getline (name,20);
    cout<<"Guten Tag, "<<name<<"! "<<endl;
    cout<<"Ihr name Rückwerts geschrieben Lautet:";

    while (i>=0)
    {
    cout<<name[i];
    i--;
    }

    cout<<"\nDanke"<<endl;

    system("Pause");
    }
     

  7. #7
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.094
    Moin,

    siehe erster Post in dieserm Thread:

    strlen( ... )

    gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 05.12.10, 23:07
  2. String umdrehen
    Von Raetsel im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 07.06.05, 12:43
  3. Einen string mit mehreren ( 6 ) vergleichen
    Von blumshuett im Forum PHP
    Antworten: 2
    Letzter Beitrag: 23.05.05, 15:28
  4. Antworten: 4
    Letzter Beitrag: 05.05.05, 20:47
  5. String umdrehen
    Von ShinmA im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 23.09.03, 13:22