#include
#include
using namespace std;
int sum( int num1, int num2, int num3){
int p;
p= (num1+num2+num3)/2;
return p;
}
int rootexpression(int k, int g, int h, int j){
double x;
x= sqrt(k(k-g)(k-h)(k-j));
return x;
}
int main()
{ int a, b, c;
int s=0;
int m=0;
cout<<"Введите первую сторону треугольника а = ";
cin>>a;
cout<<"Введите вторую сторону треугольника b = ";
cin>>b;
cout<<"Введите третью сторону треугольника с = ";
cin>>c;
s=sum(a, b, c);
m=rootexpression(s, a, b, c);
cout<<m<<endl;
return 0;
}
C/C++
Найдите ошибку, скорее всего дело в том что я из одной функции в другую пытаюсь передать значение переменнгой.
#include <iostream>
#include <cmath>
using namespace std;
double per(double a, double b, double c) {
return a + b + c;
}
double fn(double a, double b, double c) {
double p = per(a, b, c) / 2;
return p * (p - a) * (p - b) * (p - c);
}
bool ex(double a, double b, double c) {
return fn(a, b, c) > 0;
}
double area(double a, double b, double c) {
return sqrt(fn(a, b, c));
}
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
double a = real("Введите сторону a: ");
double b = real("Введите сторону b: ");
double c = real("Введите сторону c: ");
if (ex(a, b, c)) {
double ar = area(a, b, c);
cout << "Площадь треугольника: " << ar << '\n';
} else {
puts("Треугольник не существует!");
}
}
#include <cmath>
using namespace std;
double per(double a, double b, double c) {
return a + b + c;
}
double fn(double a, double b, double c) {
double p = per(a, b, c) / 2;
return p * (p - a) * (p - b) * (p - c);
}
bool ex(double a, double b, double c) {
return fn(a, b, c) > 0;
}
double area(double a, double b, double c) {
return sqrt(fn(a, b, c));
}
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
double a = real("Введите сторону a: ");
double b = real("Введите сторону b: ");
double c = real("Введите сторону c: ");
if (ex(a, b, c)) {
double ar = area(a, b, c);
cout << "Площадь треугольника: " << ar << '\n';
} else {
puts("Треугольник не существует!");
}
}
Ошибок тут много. Исправленная твоя программа выглядела бы так:
#include "iostream"
#include "cmath"
using namespace std;
float sum(float n1, float n2, float n3){return (n1+n2+n3)/2;}
float rexpr(float k, float g, float h, float j){return sqrt(k*(k-g)*(k-h)*(k-j));}
int main(){float a,b,c; cout<<"a b c: "; cin>>a>>b>>c; cout<<rexpr(sum(a,b,c),a,b,c)<<endl;}
Но две функции тут ни к чему, и, как у Николая Веселухи, стоило бы проверять, существует ли треугольник вообще.
#include "iostream"
#include "cmath"
using namespace std;
float sum(float n1, float n2, float n3){return (n1+n2+n3)/2;}
float rexpr(float k, float g, float h, float j){return sqrt(k*(k-g)*(k-h)*(k-j));}
int main(){float a,b,c; cout<<"a b c: "; cin>>a>>b>>c; cout<<rexpr(sum(a,b,c),a,b,c)<<endl;}
Но две функции тут ни к чему, и, как у Николая Веселухи, стоило бы проверять, существует ли треугольник вообще.
alt+shift+del,дальше выберите "Сканирование"
Андрей Бауэр
То есть ctrl+alt+del
Похожие вопросы
- Помогите найти ошибку в коде
- Помогите найти ошибки в коде на C++, не выводится последняя строчка
- Помогите найти ошибку.Где ошибка в коде не могу найти язык СИ
- С++ Win32 Api Помогите найти ошибку.
- Помогите найти ошибку в тесте на последовательности бит C++
- Программа не выполняет условия задания, исходный массив меняет сам себя, помогите найти ошибку
- Найти наиболее часто встречаемое число в массиве на C++, используя только функции
- С++. Помогите найти ошибку в коде.
- Помогите со Структурой, найти ошибку
- Помогите найти ошибку