• 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
294 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ź 205 wizyt
pytanie zadane 16 maja 2016 w C i C++ przez RycerzAndromedy Użytkownik (670 p.)
0 głosów
0 odpowiedzi 353 wizyt
pytanie zadane 26 kwietnia 2018 w Offtop przez Beginer Pasjonat (22,110 p.)
0 głosów
2 odpowiedzi 291 wizyt

93,440 zapytań

142,431 odpowiedzi

322,679 komentarzy

62,802 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

...