Jak napisać program, który pokaże lustrane odbicie liczby?
Ostatnio zmodyfikowano 2016-07-29 10:37
krolik5a Temat założony przez niniejszego użytkownika |
Jak napisać program, który pokaże lustrane odbicie liczby? » 2016-07-28 13:01:45 Witam, mam problem, ponieważ mam takie zadanie, do którego napisałam program, ale błędny i nie wiem, co zrobiłam w nim źle. Bardzo proszę o pomoc.
Oto treść zdania:
Zapisem lustrzanym liczby naturalnej n nazywamy liczbę złożoną z tych samych cyfr co n, tylko w odwrotnej kolejności. Oto kilka przykładów liczb oraz ich zapisów lustrzanych. Zauważ, że jeśli liczba n ma na końcu zera, to w jej zapisie lustrzanym te zera nie występują: 123 321 55600 655 7 7 Napisz program, który wyznaczy zapis lustrzany danej liczby n.
Wejście: Wejście zawiera jedną liczbę naturalną n (1 ≤ n ≤ 1000000000). Wyjście: Jedyny wiersz wyjścia powinien zawierać zapis lustrzany liczby n. Przykład: Dla danych wejściowych: 123 poprawnym wynikiem jest: 321
Napisałam ten program tak:
#include <iostream> using namespace std;
int main () { int n; cin >> n; int i = 0; while ( n > 0 ) { i = n % 10; if (i != 0){ n /= 10; cout << i << endl; } else n /= 10; } }
Pozdrawiam i z góry dziękuję za pomoc. |
|
mateczek |
» 2016-07-28 14:16:59 #include <iostream> using namespace std;
int main() { int n; int l = 0; cin >> n; while( n ) { l = l * 10 + n % 10; n /= 10; } cout << l << endl; }
//cyba że chodzi tylko o wywalenie napisu od końca ?? #include <iostream> using namespace std;
int main() { string n; cin >> n; for( string::reverse_iterator i = n.rbegin(); i < n.rend(); i++ ) { cout <<* i; } cout << endl; } |
|
krolik5a Temat założony przez niniejszego użytkownika |
C++ » 2016-07-28 17:25:04 Dziękuję bardzo, właśnie chodzi o to pierwsze. Jeszcze raz wielkie dzięki :)A jeszcze mam jedno pytanie, dlaczego przy while jest samo n? |
|
Gibas11 |
» 2016-07-28 17:41:29 Samo n działa jak n != 0, ponieważ zachodzi tam niejawne rzutowanie bool(n). |
|
mateczek |
» 2016-07-28 18:03:07 innymi słowy zero to "false" wszystko powyżej to "true" Klasyczny przykład pętli nieskończonej |
|
krolik5a Temat założony przez niniejszego użytkownika |
» 2016-07-28 21:05:50 Dzięki wielkie, to już wszystko jasne. |
|
carlosmay |
» 2016-07-29 10:37:30 innymi słowy zero to "false" wszystko powyżej to "true" |
Wszystko różne od zera to true . |
|
« 1 » |