Witam serdecznie , potrzebuje pomocy ze sprawdzeniem czy liczba z danego przedziału ( powiedzmy od 100 do 200) po zmianie na liczby binarne jest palindromem.
#include <iostream>
using namespace std;
unsigned toString(unsigned n, unsigned p, char* code);
bool isPalindrom(char* s, unsigned k);
int main() {
unsigned m, n, p; // zakres liczb m..n; p: podstawa zapisu
unsigned k; // liczba cyfr w zapisie przy podstawie p
char code[33]={0};// Co najwyżej 32 cyfry rozwinięcia unsigned
setlocale(LC_ALL, "pl-PL.UTF8");
cout<<"Program sprawdza, które liczby całkowite >0 z zakresu m..n\n";
cout<<"są w zapisie przy podstawie p palindromami.\n";
cout<<"Liczby na wejściu podawane są w zapisie dziesiętnym.\n";
cout<<" m, n <= 0 --> koniec programu.\n";
cout<<"Uwaga: podstawa p musi być ze zbioru {2 .. 36}.\n";
while(true) { // Konwersacja
cout<<"\nzakres m..n i podstawa p: m n p = ";
cin>>m>>n>>p;
if(m<=0 || n<=0) break;
for(unsigned i = m; i<=n; ++i) {
k = toString(i, p, code);
if(isPalindrom(code, k))
cout<<i<<" = "<<code<<endl;
}
}
cout<<"\nKoniec programu\n";
}
// Zwraca true jeśli liczba k-cyfrowa w s jest palindromem.
bool isPalindrom(char* s, unsigned k)
{
return 0;
// TODO Napisać prawidłową treść funkcji isPalindrom(...).
}
// Konwersja liczby dodatniej n na postać znakową
// w zapisie przy podstawie p do tablicy code.
// Funkcja zwraca liczbę znaków rozwinięcia przy podstawie p.
unsigned toString(unsigned n, unsigned p, char* code)
{
// TODO Napisać prawidłową treść funkcji konwersji toString(...).
return 0;
}