Cerinţa
Scrieţi definiția completă a subprogramului C++ nreal cu doi parametri x și y, numere naturale din intervalul [1;1000] ce returnează un număr real cu proprietatea că partea sa întreagă este egală cu x, iar numărul format din zecimalele sale, în aceeaşi ordine, este egal cu y.
Restricţii şi precizări
numele subprogramului va fi nreal
funcția va avea doi parametri: x și y, în această ordine
rezultatul calculat al funcției va fi de tip double. Folosirea altor tipuri reale va conduce la erori de compilare în programul suport.
Exemplu
Pentru x=12 și y=543, subprogramul returnează valoarea 12.543.
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
Răspuns de
2
Codul o sa il scrii tu singurel.
Dar hai sa o luam asa:
1. Aceasta functie o sa returneze numar real, adica float(sau double daca vrei)
2. In functie probabil ca vei dori sa iti declari o variabila float initializata cu 0 in care sa iti alcatuiesti raspunsul, sa spunem float result = 0.0;
3. Acum, vrei ca x sa fie partea intreaga a rezultatului, pai e usurel, daca result e oricum 0, nu ar merge sa il aduni pe x la result si sa obtii ce voiai?
4. Bun, acum pentru ce e dupa virgula, adica y, pai ca sa ne mearga tot o smecherie din asta unde pur si simplu adunam pe y la result, ar trebui sa il impartim pe y la 10 pana cand toate cifrele lui sunt dupa virgula.
Asa ca poti sa faci ceva cu o variabila tot float, sa spuneam floatY, initializata exact cu valoarea lui y, si o vei pune intr-un while, sa spunem while floatY >= 1, si cat timp variabila va fi mai mare ca 1, adica prima cifra nu va fi 0, o vei imparti la 10 ca sa ii mai treci cate o cifra dupa virgula.
5. Apoi aduni si noua variabilal la rezultat si esti gata.
Dar hai sa o luam asa:
1. Aceasta functie o sa returneze numar real, adica float(sau double daca vrei)
2. In functie probabil ca vei dori sa iti declari o variabila float initializata cu 0 in care sa iti alcatuiesti raspunsul, sa spunem float result = 0.0;
3. Acum, vrei ca x sa fie partea intreaga a rezultatului, pai e usurel, daca result e oricum 0, nu ar merge sa il aduni pe x la result si sa obtii ce voiai?
4. Bun, acum pentru ce e dupa virgula, adica y, pai ca sa ne mearga tot o smecherie din asta unde pur si simplu adunam pe y la result, ar trebui sa il impartim pe y la 10 pana cand toate cifrele lui sunt dupa virgula.
Asa ca poti sa faci ceva cu o variabila tot float, sa spuneam floatY, initializata exact cu valoarea lui y, si o vei pune intr-un while, sa spunem while floatY >= 1, si cat timp variabila va fi mai mare ca 1, adica prima cifra nu va fi 0, o vei imparti la 10 ca sa ii mai treci cate o cifra dupa virgula.
5. Apoi aduni si noua variabilal la rezultat si esti gata.
pandaaaaaaaa:
eu am vrut programul
Alte întrebări interesante
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă