Mam problem z dev c++ muszę obliczyć w nim pole trókąta wzorem Herona.
Napisałam coś ale nie chce mi skompilować ;/ pomocy u spodu daje to co napisałam w tym programie. Z góry dziękuje za pomoc ;)

#include <cstdlib>
#include <iostream>

using namespace std;
int main()
{
float a,b,c;
cout<<"podaj a=";
cin>>a;
cout<<"podaj b=";
cin>>b;
cout<<"podaj c=";
cin>>c;
if (a+b<=c || a+c<=b || c+b<=a)
cout<<"z tych ocinkow nie da sie zbudowac prostokata";
else
float p=(a+b+c)/2;
cout<<"pole trojkata wynosi="<<sqrt(p*(p-a)*(p-b)*(p-c));
}

cin.ignore();
getchar();
return 0;

2

Odpowiedzi

2010-03-24T13:28:31+01:00
#include <cmath>
#include <iostream>

using namespace std;
int main()
{
float a,b,c;
cout<<"podaj a=";
cin>>a;
cout<<"podaj b=";
cin>>b;
cout<<"podaj c=";
cin>>c;
if (a+b<=c || a+c<=b || c+b<=a)
cout<<"z tych ocinkow nie da sie zbudowac prostokata";
else
{
float p=(a+b+c)/2;
cout<<"pole trojkata wynosi="<<sqrt(p*(p-a)*(p-b)*(p-c));
}
system("pause");
return 0;
}


Po else zabrakło klamerek, a return 0; musi być w funkcji głównej main().
Ponadto dodałam bibliotekę cmath, która zawiera funkcję sqrt.
Jakbyś miała jeszcze jakieś pytania odnośnie tego programu, to pisz, postaram się pomóc ;)
Najlepsza Odpowiedź!
2010-03-24T13:40:21+01:00
#include <cstdlib>
#include <iostream.h>
#include<math.h>

using namespace std;
int main()
{

float a,b,c,p;
string k;// zmiena malo istotna tylko wykorzystana aby okno za szybko sie nie zamknelo
cout<<"podaj a=";
cin>>a;
cout<<"podaj b=";
cin>>b;
cout<<"podaj c=";
cin>>c;
if (a+b<=c || a+c<=b || c+b<=a) {
cout<<"z tych ocinkow nie da sie zbudowac prostokata";
cin>>k; // podalem aby za szybko okno sie nie zamykalo
}
else {
p=(a+b+c)/2;
cout<<"pole trojkata wynosi=" <<sqrt(p*(p-a)*(p-b)*(p-c));
cin>>k;// podalem aby za szybko okno sie nie zamykalo
}

return 0;
}

Ps: nie sprawdzalem pod wzgledem merytorycznym tylko aby to sie skompilowalo:)