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

de ce acest program de alat artia toatala a cubului :

#include
#include

using namespace std;

int main()
{
int l=5 ,s;


s=6*pow(l,2);cout<



return 0;
}



returneaza 149

iar acesta


#include
#include

using namespace std;


int main()
{
int l=5 ,s;

s=6*(l*l);cout<



return 0;
}


returneaza 150 (raspuns correct )



dariamocanu01: nu inteleg nimic....
AntiEaglesDavids: in romana te rog!
adiman73Bullets4all: De ce acest program de aflat aria toatala a cubului

Răspunsuri la întrebare

Răspuns de Emil1234
0
Programul 1:

#include <iostream>
#include <cmath>
using namespace std;
int main(){  
  int l=5,s;
  s=6*pow(l,2);
  cout<<s;
  return 0;
}

Programul 2: 

#include <iostream>
using namespace std;
int main() {
  int l=5,s;
  s=6*l*l;
  cout<<s;
  return 0;
}

pow(l,2) este acelasi lucru ca l*l
Amandoua programele in cazul acesta returneaza 150. In cazul in care tu nu ai scazut din s pe undeva 1, nu vad de ce unul ar afisa 149 si altul 150.

adiman73Bullets4all: primul iti returnează si tie 149 , iar celalalt returnează 150
Emil1234: Iti spun sigur ca primul returneaza 150 ( nu stiu cum de iti returneaza 149 tie ) --> pow(l,2) e la fel ca l*l
Emil1234: Mie imi returneaza urmatorul lucru :
Emil1234: Success time: 0 memory: 3460 signal:0 Raspuns : 150
adiman73Bullets4all: http://imgur.com/a/jYsGf
Emil1234: Probabil e o problema cu compilerul, ar trebui sa afiseze 150 ( nu e nimic gresit cu niciuna dintre metode ). Mie imi afiseaza asa : http://imgur.com/jwmzVBZ
adiman73Bullets4all: INCEARCA SA FACI PROGRAMELE SEPARAT SI AI SA VEZI CA REZULTATELE SUNT DIFERITE .. aM MAI INCERCAT SI CU ALTCEVA SI NICI AICI REZULTATELE NU SUNT AMÂNDOUĂ 150 http://i.imgur.com/YgBOp4U.png
Emil1234: Programele au fost create separat. Aparent e o problema cu versiunea compilerului disponibil pe diferite site-uri. Pentru a rezolva problema in loc de (int) foloseste (double). Mersi! :)
adiman73Bullets4all: acum este ok .
Alte întrebări interesante