| mileyselydemy a întrebat:

Cum aș putea afla media aritmetică a numerelor întregi, dacă se citesc succesiv n numere reale? Trebuie să rezolv această problemă în C++ și nu am nicio idee.
Am nevoie urgent! M-ar ajuta orice sfat, oricât de inutil ar părea. Mulțumesc anticipat.

Răspuns Câştigător
anonim_4396
| anonim_4396 a răspuns:

Stabilesti o conditie de oprire a programului cum ar fi sa se termine executia cand citesti numarul 0.

Adica intr-un WHILE. Cat timp citesti un numar diferit de 0 aduni la o variabila s fiecare nou numar n citit de la tastatura. Tot aici cresti un k = k + 1 (numeri cate numere vei citi). Media va fi s/k.

Asta e ideea de baza. Incearca s-o transcrii in cod C++
Bafta!

9 răspunsuri:
suntserios
| suntserios a răspuns:

Mare scofala, fiecare numar citit il verifici daca e sa nu intreg, in caz afirmativ il aduni la o suma. in final imparti suma la cate numere intregi ai gasit

| mileyselydemy explică (pentru suntserios):

Mulțumesc foarte mult! Acest răspuns imi este de mare folos. Totusi, ati putea să faceți această indicatie mai explicită? Eu sunt la Științe ale Naturii și nu prea mă descurc cu informatica. :/

| anonim_4396 a răspuns (pentru mileyselydemy):

Ti-am dat-o eu, doar ca n-am vazut ca citesti numere reale si le alegi doar pe alea intregi. Mai bagi un IF pe acolo, in interiorul WHILE. Mai departe ce nu stii sa faci? Vrei programul C++ scris direct pe tava? Nu! Astfel iti putem raporta intrebarea ca fiind o tema de casa. Dam explicatii pe TPU, dar nu facem temele altora cap-coada.

anonim_4396
| anonim_4396 a răspuns:

Inca ceva. Ca sa selectezi doar numerele intregi ai putea sa scrii conditia urmatoare:
Daca(IF) restul impartirii numarului n(citit de la tastatura) la 1 este 0 atunci numarul este intreg si il contorizezi in variabila k, iar suma tot in acest caz o actualizezi.

anonim_4396
| anonim_4396 a răspuns:

Sau cum naiba e enuntul? Se citesc doar numere reale si se cere media numerelor intregi(prin trunchiere)?

| mileyselydemy explică (pentru anonim_4396):

Enunțul este următorul:
Se citesc succesiv n numere reale.Calculați media aritmetică a celor întregi.

| anonim_4396 a răspuns (pentru mileyselydemy):

Dupa mine asta inseamna ca faci trunchiere la toate numerele(stocate succesiv in variabila n) citite in interiorul WHILE. Ai functii speciale in C++. Chiar "trunc" ii zice. Adica apelezi trunc(n), unde n este float/double.
Adica daca vei da numere ca 3.40, 4.05, 12.32 sa ti le ia ca 3.0, 4.0, 12.0. Adica doar partea intreaga a numarului. Iar asta inseamna ca nu mai scrii nici IF-ul.
Sincer, nu imi dau seama exact cum trebuie interpretat enuntul. Eventual considera varianta cu separare.

| StefanKogut a răspuns:

Nu zici de unde se citesc succesiv, dintr-o stiva sau de la consola?

| MMAV a răspuns:

Dar ca sa fie întregi va trebui sa pui mai întâi si o structura alternariva simpla care sa separe numerele întregi de cele reale.