zapisanie liczby z zerem na początku do zmienej
Ostatnio zmodyfikowano 2020-01-08 22:16
vexxxiang Temat założony przez niniejszego użytkownika |
zapisanie liczby z zerem na początku do zmienej » 2020-01-08 20:48:49 jak zapisać liczbę z zerem na początku np. 012 lecz jednak gdy zapisze tak w int obcina mi zero. przykład #include <iostream>
using namespace std;
int main() { int liczba = 012; cout << liczba; return 0; }
daje mi taki wynik: 10 Process returned 0 (0x0) execution time : 0.322 s Press any key to continue. Moim celem jest to by wypisało mi poprawną liczbę i zerem na początku. Potrzebne jest mi to do sprawdzania palindromów lecz gdy mam liczbę np. 120 i ją odwrócę powinno wyjść 021 a wychodzi mi 21 po to by ją potem porównać liczbę odwróconą i oryginał. Nie może to być string ani w char bo tą liczbę będę dodawał i sprawdzał kolejną licbze. Przykład : 120 -> 021, 121 ->121 itd. A jest tego sporo bo mam liczb od 0 do 99999. |
|
nanoant20 |
» 2020-01-08 21:54:15 #include <iomanip> int liczba = 012; std::cout << std::setfill( '0' ) << std::setw( 3 ) << oct << liczba << std::endl;
bo tą liczbę będę dodawał i sprawdzał kolejną licbze |
brak mi wyobraźni. jak by to miało wyglądać? |
|
pekfos |
» 2020-01-08 22:16:40 Potrzebne jest mi to do sprawdzania palindromów lecz gdy mam liczbę np. 120 i ją odwrócę powinno wyjść 021 a wychodzi mi 21 po to by ją potem porównać liczbę odwróconą i oryginał. |
A dopuszczasz nieznaczące zera na wejściu? Jeśli nie, to żadna liczba-palindrom nie ma tego problemu i żadna inna liczba nie stanie się zgodna przez upuszczenie nieznaczących zer. Nie może to być string ani w char bo tą liczbę będę dodawał i sprawdzał kolejną licbze. |
Zawsze możesz skonwertować w jedną, czy drugą stronę. Są do tego funkcje w bibliotece standardowej. Jest poprawna. 012 = 12 8 = 10. |
|
« 1 » |