• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program nie zmienia wartości przypisywanej w pętli

Konkurs Mistrz Programowania
+1 głos
374 wizyt
pytanie zadane 15 czerwca 2017 w C i C++ przez Krystian Nowak Początkujący (330 p.)

Witam, podczas rozwiązywanie popularnego zadania ze spoj'a o palindromach natrafiłem na problem. Program tylko raz wykonuje działanie zapisane w pętli choć nie jest ona spełniona, dodatkowo nie podlicza ilości działań wykonywanych w ramach pętli, błąd znajduje się w linii 47. Obstawiam że jest tu jakiś głupi błąd, ja niestety jestem już tam tym znużony że nie potrafię go znaleźć, liczę na waszą pomoc. 

#include <iostream>
#include <cmath>

using namespace std;

int odwroc(int n)
{
    int LiczbaCyfr = ceil(log10(n));
    int start = 0;
    for( int i=0; i<LiczbaCyfr; i++)
    {
             start+=pow(10.0, LiczbaCyfr - 1 - i )*(n%10);
             n=n/10;
    }
    return start;
}

bool check_poli(int pierwsza, int druga)
{
    if(pierwsza==druga) return true;
    else return false;
}

int main()
{
    int ilosc_dodawan=0;
    cout<<"Podaj liczbe: ";
    int liczba;
    cin>>liczba;

    int odwrocona=odwroc(liczba);
    int poprawnosc=check_poli(liczba, odwrocona);

    //

    if(poprawnosc==1)
    {
        cout<<liczba<<" "<<ilosc_dodawan<<endl;
    }
    else
    {
        int poli, poli_odw;
            poli=liczba+odwrocona;//110
            poli_odw=odwroc(poli);//11
        while(poprawnosc==1)
        {
            poli+=poli_odw;
            poli_odw=odwroc(poli);
            ilosc_dodawan++;
            poprawnosc=check_poli(poli, poli_odw);
            ilosc_dodawan++;

        }
        cout<<poli<<" "<<ilosc_dodawan<<endl;
        cout<<poli_odw;
    }


    return 0;
}

 

komentarz 15 czerwca 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
komentarz 15 czerwca 2017 przez Krystian Nowak Początkujący (330 p.)
tylko ze to nie rozwiązuje mojego problemu
komentarz 15 czerwca 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
niestety nie, ale pomyslalem ze moze sie przydac

1 odpowiedź

+1 głos
odpowiedź 15 czerwca 2017 przez jeremus Maniak (59,720 p.)
a nie powinno być tak ?

while(poprawnosc != 1)
komentarz 15 czerwca 2017 przez Krystian Nowak Początkujący (330 p.)
Dokładnie tak, dziękuje, aż mi wstyd

Podobne pytania

0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 16 maja 2016 w C i C++ przez RycerzAndromedy Użytkownik (670 p.)
0 głosów
0 odpowiedzi 395 wizyt
pytanie zadane 26 kwietnia 2018 w Offtop przez Beginer Pasjonat (22,110 p.)
0 głosów
2 odpowiedzi 372 wizyt

93,652 zapytań

142,574 odpowiedzi

323,089 komentarzy

63,167 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...