Informatică, întrebare adresată de paulb007, 9 ani în urmă

In c++ cand fac de exemplu media aritmetica a 3 numere, de ce atunci cand declar numerele gen int a,b,c trebuie ca M (media aritmetica) declarata ca si nr real adica float M? Daca suma lor e 11 si sunt 3 numere 11/3=3 si daca am declarat M ca si float sau ca int. Lamuriti-ma va rog.

Răspunsuri la întrebare

Răspuns de Denhar
1
Pe scurt îl declari ca float numai pentru a avea zecimale, iar cu biblioteca <iomanip> poți seta și precizie. Dacă o lași int M; va scoate doar partea întreagă din M, adică int(M). Sper că la asta te-ai referit !

Denhar: A scazut "pe buna dreptate" :D. Caci, exista long sau long it care iti ofera numere intregi cu valori de maxim 9 cifre. Daca vrei intregi MARI, vei folosi unsigned long, care retine valori cu mai mult de 10 cifre.
paulb007: si daca e doar int numar, va fi pana maxim de 4 sau 5 cifre?
Denhar: Deci, int reprezinta numere intregi cu semn, unsigned int sau unsigned numere intregi doar pozitive, shor int valori minime, long sau long int 9 cifre, unsigned long 10+cifre. din problemele pe care le-am tot fact, in special pe pbinfo am vazut ca int are restrictie 1M., deci 7 cifre.
Denhar: Dar din ce am facut la scoala pana acum, nu am vorbit despre restrictia de cifre a lui int in general.
paulb007: Acum totul imi este clar... mersi frumos pt rabdarea de a-mi explica, succes!
Denhar: Oricand. Ti-am zis : daca ai discord sau skype spune-mi ca sa te ajut mai usor !
paulb007: da-mi id sa te adaug pe skype
Denhar: da-mi-l tu pe al tau te rog :))
paulb007: https://imgur.com/a/tYaDzLJ aici ca sa pot sterge poza dupa sa nu vada astia id :))
Denhar: sterge.
Alte întrebări interesante