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

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

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

(Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. - C++

22.05.2009, 00:31. Просмотров 1514. Ответов 12
Метки нет (Все метки)

Добрый вечер прошу помочь с задачей:
Определить, можно ли построить треугольник по заданным длинам сторон a, b, c. Если построение возможно, то определить тип треугольника: прямоугольный, тупоугольный, остроугольный, равносторонний, равнобедренный и тому подобное Для равностороннего треугольника – вычислить его высоту, для равнобедренного - медиану к основе.

Заранее благодарен за помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2009, 00:31     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов.
Посмотрите здесь:

Базовые понятия о рекурсии - C++
Здравствуйте! Я на этом форуме новичок и не атк давно занимаюсь программированием на С++. И у меня возник такой вопрос. В книге (Борис...

Можно ли выучить C++, имея базовые понятия в C? - C++
Можно ли выучить C++ знаю С до функций и структур?

Базовые понятия-класс. Как он сотносится с обьектом? - C++
Обьясните также пожалуста, что значит error C2864: miclasse::AA: в пределах класса могут быть инициализированы только статические...

Программирование разветляющихся вычислительных процессов - C++
Выяснить, пересекаются ли кривые у=аx3+bx2+сx+d и y=ex3+fx2+gx+h. При положительном ответе найти точки пересечения.

Програмирование на С++ разветляющихся вычислительных процессов - C++
Помогите бедной девушке решить задачку на С++,сама не справляюсь!:cry: Выяснить, у какого из трех прямоугольных треугольников площадь...

Программная реализация задачи о распиле бревна по моделированию производственно-экономических процессов - C++
Всем здравствуйте. Пишу курсовой проект. Постановка задачи выглядит таким образом: Планирование оптимального распила бревна...

Базовые знания - C++
Всем доброго времени суток! У меня появилась нужда в систематизации знаний языка,и потому хотел бы узнать несколько интересующих меня...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mikutu
26 / 26 / 2
Регистрация: 29.04.2009
Сообщений: 90
22.05.2009, 05:18     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #2
в принципе формулы для высоты равностороннего треугольника и для медианы к основе равнобедренного будут одинаковы.
пусть a - основа
b=с (если равностороний еще и = a )
h=(b^2-(a/2)^2)^0.5
а про определение типа треугольника я уже вам писал как определить тип (вот вам ссылка на теорему косинусов http://ru.wikipedia.org/wiki/Теорема_косинусов)
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 481
22.05.2009, 23:35     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #3
C++
1
((a+b>=c)&&(a+c>=b)&&(b+c>=a))
а это условие существования треугольника если что
mr.man
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 14
23.05.2009, 00:09  [ТС]     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #4
у меня возник вопрос при построении программы,для определения угла,нужно ли переводить полученные радианы в градусы?если да,тогда я прошу написать ф-цию.Спасибо за помощь!
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 481
23.05.2009, 00:44     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #5
смотря что будешь считать, обычно в геометрии всё переводится в градусы.
вот формула сама:
al_grad=(al_rad*180)/3.14;
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
23.05.2009, 00:49     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #6
C++
1
2
3
4
5
double RadToDeg(double radian)
{
   #define pi 3.14159265358979323846;
   return 180*radian/pi;
}
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
23.05.2009, 16:30     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #7
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <algorithm>
using namespace std;
 
bool compale(double i,double j){
    return(i<j);
}
void med(double a,double b){
    double x;
    x = sqrt(a - b/2);
    if(a != b){
    cout << "Треугольник с данными сторонами равнобедренный." << endl;
    cout << "Длина медианы - " << x << endl;
    }else
        cout << "Длина высоты - " << x << endl;
}
int main(int argc,char *argv[])
{
    setlocale(0,"");
    double stor[2];
    cout << "Введите стороны треугольника." << endl;
    cin >> stor[0] >> stor[1] >> stor[2];
    _flushall();
    //Проверяем условие существования треугольника
    while (!((stor[0]+stor[1]>stor[2]) & (stor[0]+stor[2]>stor[1]) & (stor[1]+stor[2]>stor[0]))){ 
        cout << "Трекгольника с такими сторонами не существует." << endl;
        cout << "Введите новые стороны треугольника."<<endl;  
        //Если такого не существует - просим ввести новые стороны
        cin >> stor[0] >> stor[1] >> stor[2];
    }
    _flushall();
    //сортируем массив по возрастанию; первый элемент - самая длинная сторона
    sort(stor,stor+2,compale); 
    stor[0] = pow(stor[0],2);
    stor[1] = pow(stor[1],2);
    stor[2] = pow(stor[2],2);
    if(stor[0] == (stor[1] + stor[2]))
        cout << "Треугольник с данными сторонами прямоугольный." << endl;
    if(stor[0] < (stor[1] + stor[2]))
        cout << "Треугольник с данными сторонами остроугольный." << endl;
    if(stor[0] > (stor[1] + stor[2]))
        cout << "Треугольник с данными сторонами тупоугольный." << endl;
    if((stor[0] == stor[1]) &&(stor[1] == stor[2])){
        cout << "Треугольник с данными сторонами равносторонний." << endl;
        med(stor[0],stor[0]);
    }else{
    if(stor[0] == stor[1])
        med(stor[0],stor[1]);
    else if(stor[0] == stor[2])
        med(stor[0],stor[1]);
    else if(stor[1] == stor[2])
        med(stor[1],stor[0]);
    }
    system("PAUSE");
    return 0;
}
mr.man
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 14
24.05.2009, 13:27  [ТС]     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #8
благодарю!
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
24.05.2009, 15:26     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #9
Кнопочка внизу есть такая - "Спасибо" наз.
mr.man
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 14
25.05.2009, 00:56  [ТС]     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #10
вот только возник вопрос,опишите поподробней сортировку массива по возрастанию...
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
25.05.2009, 09:36     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #11
Алгоритмы сортировок
http://algolist.manual.ru/
Вот самый простой способ сортировки -
пузырьком
C++
1
2
3
4
5
6
7
8
9
10
void bubble(int *a, int size){
    int i,j;
    int x;// х должно быть того же типа, что и массив
    for(i = 0; i < size;i++)
        for(j = size-1;i > i; j--)
            if(a[j-1] > a[j]){
                x = a[j-1];
                a[j-1] = a[j];
                a[j] = x;
            }
( я написал с модификацией)
mikutu
26 / 26 / 2
Регистрация: 29.04.2009
Сообщений: 90
25.05.2009, 19:33     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #12
если первый элемент самая большая величина, то сортировка по убыванию.
примерно так методом пузырька
Pascal
1
2
3
4
5
6
7
8
9
for i := 0 to 2 begin
for j := i+1 to 2 begin
if(stor[j] > stor[i]) then begin
temp := stor[j];
stor[j] := stor[i];
stor[i] := temp;
end;
end;
end;
Не заметил что ответ вам уже дали, ну пусть останется и мой вариант.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2009, 23:01     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов.
Еще ссылки по теме:

Базовые типы данных - C++
в пачке N листов бумаги размера А4 плотностью Р гр. на квадратный см. Найти вес пачки бумаги с точностью два знака после запятой

C++ и базовые функции PHP - C++
Когда-то давно кодил на с++, но то было около 10 лет назад. С тех пор уже все забыл, да и многое поменялось, но вот решил вспомнить навыки...

Базовые и порожденные классы - C++
Здравствуйте, помогите пожалуйста с вопросом: Что должно быть предусмотрено в базовом классе, чтобы порожденный класс мог обращаться к...

Абстрактные базовые классы - C++
Помогите решить пожалуйста!) Задание 1 . Создать базовый класс - фигура, и производные класс - круг, прямоугольник, трапеция....

Абстрактные базовые классы - C++
Не могу создать экземпляр производного от АБК класса: #pragma once class BaseEllips { private: double x; double y; public: ...


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

Или воспользуйтесь поиском по форуму:
mr.man
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 14
25.05.2009, 23:01  [ТС]     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов. #13
благодарю!!
Yandex
Объявления
25.05.2009, 23:01     (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов.
Ответ Создать тему
Опции темы

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