Dobar dan! Trebao bih pomoć,sutra imam usmeni pred veoma neugodnim profesorom,međutim, imam zadatak koji nam je dao,ali ga ne znam rijesiti,ako zna netko,molio bih ako bi mogao napisati!
zadatak glasi ovako :
Napiši program koji upisuje prirodan broj N pa ispisuje svaku znamenku u novi red pocevsi od zadnje.
MOLIM POMOC!!!
Neugodan profesor, a pita ovakve gluposti?
#include <iostream>
using namespace std;
int main(){
int broj;
cin >> broj;
do{
cout << broj % 10 << endl;
broj /= 10;
}while(broj != 0);
return 0;
}
Zadnju znamenku broja možeš dobiti tako da tražiš ostatak toga broja pri dijeljenju s 10. Npr. ako imaš broj 479, njegov ostatak pri dijeljenju s 10 je 9. U c++ za traženje ostatka koristimo operator %.
cout << broj % 10 << endl;
Ova gornja linija taj ostatak ispisuje na ekran.
Kada smo ispisali zadnju znamenku, onda je moramo ukloniti. To radimo tako da broj cjelobrojno dijelimo s 10. Npr. 479/10 = 47. I onda nakon toga opet ispisemo zadnju znamenku, pa je onda uklonimo. I tako sve dok broj ne bude imao vise znamenki, tj. kada je jednak 0. To sve radimo pomocu do-while petlje, koja se vrti sve dok je broj razlicit od 0. I kod nje je specificno sto ona prvo izvrsi jednu iteraciju, pa onda vrsi provjeru, za razliku od while petlje koja odmah na pocetku vrsi prvojeru. do-while petlju sam koristio upravo zbog toga svojstva, jer u slucaju da korisnik unese 0, while petlja se uopce ne bi se nista ispisali na ekranu, a koristeci do-while petlju na ekranu ce se ispisati 0.

