👤

URGENT, VA ROG!
Se citeste de la tastatura un numar real cu 3 zecimale. Folosind instructiunea do...while, sa se mute virgula pe toate pozitiile interioare posibile in cadrul numarului initial si sa se afise rezultatul, cate un numar pe rand. De ex. 123,456 -> 12,3456 -> 1,23456.


Răspuns :

Răspuns:

#include <iostream>

#include <fstream>

#include <iomanip>

using namespace std;

#define fl float

fl numar;

void mutaVirgula(fl numar) {

 do {

   cout << fixed << setprecision(3) << numar << " ";

   numar /= 10;

 } while((int)numar != 0);

}

int main(void) {

 cin >> numar;

 mutaVirgula(numar);

}

Explicație:

din cauza functiei setprecision care este la 3 (exact 3 zecimale) o sa iti numarul tau o sa aibe mere strict 3 zecimale...de aceea unele zecimale vor fi mai mari fiindca li se atribuie prin adaos un exemplu bun ar fi 123,456 - > 12,346 -> 1,235 ...Bafta!!!