Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program z palindromami

Ostatnio zmodyfikowano 2018-09-22 20:48
Autor Wiadomość
HamesJetfield
Temat założony przez niniejszego użytkownika
Program z palindromami
» 2018-09-21 16:16:19
Dzień dobry,
chcę zrobić program, który sprawdzi czy jakaś liczba jest palindromem, a jeżeli nim nie jest, to doda do tej liczby, tą samą liczbę napisaną od tyłu (np. 123+321). Proces dodawania ma trwać dopóki nie otrzymany zostanie palindrom. Na końcu na ekran ma być wypisany otrzymany palindrom. Niestety po uruchomieniu nic nie pojawia się na ekranie. Co zrobiłem źle? Z góry dziękuję za pomoc.

C/C++
#include <iostream>
#include <cstdlib>
using namespace std;

bool spr( string liczba )
{
    int a = liczba.length();
   
   
    int i = 0;
    while( liczba[ i ] == liczba[ a - i ] && i <= a )
    {
        i++;
    }
    if( i == a )
    {
        return true;
    }
    else
    {
        return false;
    }
}
int main()
{
   
    string liczba = "121";
    int pom1, pom2;
    while( spr( liczba ) == false )
    {
        pom1 = atoi( liczba.c_str() );
        for( int i = 0; i < liczba.length() / 2; i++ ) // obracanie liczby
        {
            pom2 = liczba[ i ];
            liczba[ i ] = liczba[ liczba.length() - i ];
            liczba[ liczba.length() - i ] = pom2;
        }
        pom2 = atoi( liczba.c_str() );
        pom1 = pom1 + pom2;
        itoa( pom1,( char * ) liczba.c_str(), 10 );
    }
    cout << liczba;
    return 0;
}
P-172378
pekfos
» 2018-09-21 17:31:36
Niestety po uruchomieniu nic nie pojawia się na ekranie. Co zrobiłem źle?
Kod zrobiłeś źle. I nastawienie też masz złe. Program po prostu nie działa? Litości.. Wystarczy kilka coutów czy printfów żeby zawęzić problem do konkretnej rzeczy.

C/C++
int i = 0;
while( liczba[ i ] == liczba[ a - i ] && i <= a )
Źle (dla i = 0 i i = a).

C/C++
liczba[ i ] = liczba[ liczba.length() - i ];
Źle (dla i = 0).

C/C++
itoa( pom1,( char * ) liczba.c_str(), 10 );
Źle (wiele powodów). Użyj std::to_string().
P-172379
HamesJetfield
Temat założony przez niniejszego użytkownika
» 2018-09-22 20:48:00
ok, dziękuję
P-172382
« 1 »
  Strona 1 z 1