Zahlen verdrehen



  • Hallo zusammen,

    ich fange zur zeit an mit c zu programieren und kann sein das diese frage für einige banal klingt aber aller anfang ist schwer. 🙂

    also mein problem ist zahlen zu verdrehen.
    ich gib mit scanf eine zahl ein, z.B.: 23 und nun möchte ich das diese verdreht wird und ausgegeben wird also 32. oder 123 ausgabe 321

    danke für die hilfe

    danthor



  • N'abend.

    Also die Zeichen liegen ja in einem Array und die Felder von einem Array spricht man mit dem []-Operator an.

    Wenn man nun

    char Merke = Zeichenkette[Ende];
    Zeichenkette[Ende] = Zeichenkette[Anfang];
    

    macht, hat man schonmal den ersten Buchstaben ueber den letzten kopiert.

    Der Anfang ist immer 0, das Ende ist dann wohl mit strlen ermittelbar.
    Aber da noch einen Abziehen, weil ja bei 0 angefangen wird zu zählen.



  • In C++ wäre, unter Verwendung von STL, nachfolgende Lösung möglich.

    #include <string>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    	string zk;
    	// Einlesen der Eingabe in den String zk 
    	cin >> zk;
    
    	// Zeichenweise Umnkehrung des Inhaltes von zk
    	reverse(zk.begin(), zk.end());
    	cout << zk << endl;
    
    	return 0;
    }
    


  • scanf("%d",x);
    do{
       putch('0'+x%10);
    }while(x/=10);
    


  • char line[500];
    int i;
    fgets(line, 500, stdin); // stdin ist auch 0 oder STDIN oder STDIN_FILENO
    for (i = strlen(line); i >= 0; --i) putchar(line[i]);
    


  • scanf(), strlen() 😕
    Sind wir hier im C++-Forum oder was ? 😃 😃



  • ja, weil c++ sowas nur mit "streams" kann 😞


Anmelden zum Antworten