Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
z0z0ka
0 / 0 / 0
Регистрация: 27.12.2009
Сообщений: 5
#1

"НОК трех чисел" и "Площадь треугольника" - C++

27.12.2009, 18:30. Просмотров 1408. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста решить 2 задачи.
1. Разработать функцию, возвращающую наименьшее общее кратное трёх заданных натуральных чисел.
2. Даны длины отрезков A, B, C, D. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь этого треугольника. (Определить функцию для нахождения и печати площади треугольника, если он существует.)

Добавлено через 16 минут
На обычном Си, любой компилятор.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2009, 18:30     "НОК трех чисел" и "Площадь треугольника"
Посмотрите здесь:

C++ Превратить заданную пользователем дату в формате "дд.мм.гг" в формат "месяц дд. год"
C++ Считать с файла информацию о команде "Название" "Город", количество побед, поражений, ничьих, забитых и пропущенных мячей
C++ Выяснить, имеется ли пара соседствующих символов ",-" "-," (запятая, тире) в тексте
C++ Подсчитать сумму "серых" элементов, а "черные" сложить только один раз
Классы "Пара чисел" и "Прямоугольный треугольник" C++
Классы "Пара чисел" и "Прямоугольный треугольник" C++
Классы "Пара чисел" и "Прямоугольный треугольник" C++
Удалить из двусвязного списка все элементы до первого "*" и после последнего "*" C++
"Красный Тигр" vs. "Желтый Заяц". А каким будет 3005 год? C++
ткните мордой плз на описание конструкций типа defect?"brak":"goden" C++
Разработать класс "Cmp", обеспечивающий нахождение НОД и НОК двух чисел C++
Перегрузить операторы "=", "+=" так, чтобы производилось сложение строки и объекта C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 18:33     "НОК трех чисел" и "Площадь треугольника" #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int func_NOD(int a, int b, int c)
{
int i=2, fl=1;
while(fl)
{
if(i>a || i>b || i>c)
{
i=1;
fl=0;
}
if(a%i==0 && b%i==0 && c%i==0)
fl=0;
i++;
}
return i-1;
}
Функция возвращает 0 когда нет общего делителя (кроме 1), или возвращает значение наименьшего общего делителя.
odip
Эксперт С++
 Аватар для odip
7151 / 3291 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
27.12.2009, 23:08     "НОК трех чисел" и "Площадь треугольника" #3
2valeriikozlov: наименьший общий делитель трех чисел это очевидно 1.
А посчитать просили наименьшее общее кратное.

Пусть NOD(a,b) - наибольшой общий делитель чисел.
Вычисляется например по алгоритму Евклида.
Тогда NOK(a,b)= a*b/NOD(a,b) - вычисление наименьшего общего кратного.
Далее NOK(a,b,c)= NOK( NOK(a,b), c )
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2009, 07:13     "НОК трех чисел" и "Площадь треугольника" #4
odip, согласен
odip
Эксперт С++
 Аватар для odip
7151 / 3291 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
29.12.2009, 00:03     "НОК трех чисел" и "Площадь треугольника" #5
А вообще все это в форуме я уже писал
fyk-fyk
Сообщений: n/a
07.04.2011, 22:00     "НОК трех чисел" и "Площадь треугольника" #6
#include <math.h>
#include <iostream.h>


float S(float x,float y,float z)
{
if (x+y >= z && x+z >= y && y+z >= x) {
float p=(x+y+z)/2;
return sqrt(p*(p-x)*(p-y)*(p-z));
} else {return -1;};
}


int main(int argc, char* argv[])
{
float a,b,c,d,t;
cout<<"Введите 4 числа\n";
cin>>a>>b>>c>>d;

cout<<a<<" "<<b<<" "<<c<<"\n";
t=S(a,b,c);
if (t!=-1) {
cout<<"Площадь="<<t<<"\n";
} else {cout<<"Треугольника не существует.\n";};

cout<<b<<" "<<c<<" "<<d<<"\n";
t=S(b,c,d);
if (t!=-1) {
cout<<"Площадь="<<t<<"\n";
} else {cout<<"Треугольника не существует.\n";};

cout<<c<<" "<<d<<" "<<a<<"\n";
t=S(c,d,a);
if (t!=-1) {
cout<<"Площадь="<<t<<"\n";
} else {cout<<"Треугольника не существует.\n";};

cout<<d<<" "<<a<<" "<<b<<"\n";
t=S(d,a,b);
if (t!=-1) {
cout<<"Площадь="<<t<<"\n";
} else {cout<<"Треугольника не существует.\n";};
cin>>t;

return 0;
}
Yandex
Объявления
07.04.2011, 22:00     "НОК трех чисел" и "Площадь треугольника"
Ответ Создать тему
Опции темы

Текущее время: 04:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru