Hilfe bei c++

Hätte mal eine Frage.
Und zwar möchte ich alle Palindrome(also zahlen die vorwärts und rückwärts gelesen gleich sind)zwischen 1001 und 9999 ausgeben.
Aber immer wenn ich mein Programm in eine Schleife einbinden will bekomme
ich Fehlermeldungen. Vielleicht kann mir ja jemand helfen.

Hallo,

Und zwar möchte ich alle Palindrome(also zahlen die vorwärts
und rückwärts gelesen gleich sind)zwischen 1001 und 9999
ausgeben.
Aber immer wenn ich mein Programm in eine Schleife einbinden
will bekomme
ich Fehlermeldungen. Vielleicht kann mir ja jemand helfen.

Und wie sollen wir dir helfen können, ohne das Programm und die Fehlermeldungen zu können?

Grüße,
Moritz

Quelltext
Hallo!

Aus Deiner Beschreibung lässt sich leider nicht erschließen, wo der Fehler liegt. Wenn Du aber Deinen Quelltext postest, können wir Dir sicher helfen.

Viele Grüße

Falk

Sorry.
Hier der quelltext.
Bin noch Anfänger bei c++.

#include
#include
#include
#define Max 81

using namespace std;

void drehen (char *str);

int main(int argc, char *argv[])
{

char palindrom[Max];
int n;

cin.width(Max);

n = 10;
while( n = 0, k

Hallo,

> #include   
> #include   
> #include   
> #define Max 81  
>   
> using namespace std;  
>   
> void drehen (char \*str);  
>   
>   
> int main(int argc, char \*argv[])  
> {  
>   
> char palindrom[Max];  
> int n;  
>   
> cin.width(Max);  
>   
> n = 10;  
> while( n


Die letzte Zeile geht so nicht: palindrom ist ein Array von Chars, also ein String, n ist ein Integer. Eine Lösung wäre, stdio.h einzubinden und zu schreiben:


    sprintf(palindrom, "%d", n);




    
    
    
    > cout
    
    
    An dieser Stelle willst du vielleicht auch noch drehen(palindrom) ausgeben, nicht nur einmal ganz am Ende.
    
    Also z.B. so:
    
    
        
         cout 
        
        Grüße,
        Moritz

Habe ich gemacht.
bekomme aber an der stelle palindrom = n; , diese Fehlermeldung:
incompatible types in assignment of int' to char[81]’
Hatte mir es so gedacht, das das Programm erst alle Zahlen von 10 - 99
ausgibt. und das „void drehen(char *str)“ sie alle umdreht. und das ich sie dann zusammfüge. also z.b.: das hauptprogramm gibt 10 aus und
die funktion 01. und das soll dann für alle funktionieren.

#include
#include
#include
#include
#define Max 81

using namespace std;

void drehen (char *str);

int main(int argc, char *argv[])
{

char palindrom[Max];
int n;

cin.width(Max);

n = 10;
while( n = 0, k

Hallo,

Habe ich gemacht.
bekomme aber an der stelle palindrom = n; , diese
Fehlermeldung:
incompatible types in assignment of int' to char[81]’

Ich habe mich wohl nicht deutlich genug ausgedrückt: du sollst die Zuweisung durch die Zeile mit dem sprintf ersetzen. Dann geht es.

Deine Idee ist schon völlig in Ordnung :wink:

Grüße,
Moritz

Ich stelle mich heute etwas dumm an.
Kannst du mir die Zeile genau zeigen.

#include
#include
#include
#include
#define Max 81

using namespace std;

void drehen (char *str);

int main(int argc, char *argv[])
{

char palindrom[Max];
int n;

cin.width(Max);

n = 10;
while( n = 0, k [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Ich stelle mich heute etwas dumm an.
Kannst du mir die Zeile genau zeigen.

Dein Compiler spuckt doch mit der Fehlermeldung auch eine Zeilennummer aus, die ist es.

Trotzdem nochmal, scroll nach unten…

> n = 10;  
> while( n

Die hier ist es.

Grüße,
Moritz

Besten Dank :smile:

Noch ein Tip
Hallo Fragewurm,

Wenn du vor deinem Listing

und nach dem Ende

schreibst, bleiben die Einrückungen erhalten.

Den „.“ bei und musst du weglassen !!

MfG Peter(TOO)