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

Максимальное значение высоты h - C++

Восстановить пароль Регистрация
 
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
02.08.2010, 18:14     Максимальное значение высоты h #1
Здравствуйте! Задание такое: Ввести 5 наборов сторон треугольника a, b, c и определить для каких сторон высота h будет максимальной. Тут я программу вроде написал, но не могу понять то ли она делает: Должна искать максимальное а, b, c в каждом вводе и выводить по результатам новую то есть 6 высоту h, или просто выводить для какого набора сторон высота будет максимальной?. Вот мой код:
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
#include <stdafx.h>
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
    float a, b, c, amax, bmax, cmax, p , h, hmax;
    short flag=0;
    for(int z=0; z<5; ++z)
    {
        cout<<"Enter a:"; cin>>a;
        cout<<"Enter b:"; cin>>b;
        cout<<"Enter c:"; cin>>c;
        p=(a+b+c)/2;
        h=2*sqrt(p*(p-a)*(p-b)*(p-c))/a;
        cout<<"h="<<fixed<<setprecision(2)<<h<<"   a="<<a<<"   b="<<b<<"  c="<<c<<endl;
        if (!flag)
        {   amax=a;
            bmax=b;
            cmax=c;
            hmax=h;
            flag=1;
        }
        else if(h>hmax)
        {
            amax=a;
            bmax=b;
            cmax=c;
            hmax=h;
        }
    }
    cout<<"\n for a="<<fixed<<setprecision(1)<<amax<<"   b="<<bmax<<"   c="<<cmax<<" hmax="<<fixed<<setprecision(1)<<hmax<<endl;
    cin.get();
}
Чтобы не плодить темы есть еще 2 задача!: Ввести координаты 10 точек на плоскости и определить в какой из четвертей точек будет больше всего. Тут если кто знает напишите пожалуйста алгоритм, с кодом попробую разобраться сам! Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
02.08.2010, 18:44     Максимальное значение высоты h #2
Создайте контейнер для хранения высот треугольников.Запишите туда все ваши высоты и найдите максимальную.
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
02.08.2010, 18:59  [ТС]     Максимальное значение высоты h #3
Цитата Сообщение от Sekt Посмотреть сообщение
Создайте контейнер для хранения высот треугольников.Запишите туда все ваши высоты и найдите максимальную.
Дык в том то и дело, что программа работает. Я не прошу проверить правильно или нет, просто скажите как она должна считать значение h - как написано в 1 посте или может быть по другому, с кодом я попробую сам разобраться
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
02.08.2010, 19:09     Максимальное значение высоты h #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     if (!flag)
                {       amax=a;
                        bmax=b;
                        cmax=c;
                        hmax=h;
                        flag=1;
                }
                else if(h>hmax)
                {
                        amax=a;
                        bmax=b;
                        cmax=c;
                        hmax=h;
                }
Эти вещи врятли вам нужны.
Попробуйте так:
C
1
2
3
4
for()
{
h[i] = тут ваша формула.
}
потом найдите максимальное значение в массиве.
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
02.08.2010, 19:21  [ТС]     Максимальное значение высоты h #5
Спасибо за идеи, но учу с++ буквально неделю. Вот только сегодня начал учить массивы, с одномерными вроде разобрался, а вот m*n пока слаб Поэтому и код в программе мягко говоря не самый оптимальный...
Yandex
Объявления
02.08.2010, 19:21     Максимальное значение высоты h
Ответ Создать тему
Опции темы

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