1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
||||||
1 | ||||||
Используя датчик случайных чисел, получить координаты вершин треугольника x1, y1, x2, y2, x3, y3, принадлежащие отрезку [-5,5]07.10.2010, 16:12. Показов 3986. Ответов 42
Метки нет (Все метки)
Составьте программу для выполнения следующих заданий:
1. Ввести с клавиатуры длины отрезков a, b и c. 2. Проверить, могут ли быть эти отрезки сторонами треугольника, и вывести соответствующее сообщение. 3. Используя формулу Герона и теоремы синусов и косинусов, вычислить периметр и площадь треугольника, высоты ha, hb и hc, медианы ma, mb и mc и биссектрисы la, lb и lc треугольника. 4. Вывести результаты вычислений с комментариями на экран дисплея. 5. Используя датчик случайных чисел, получить координаты вершин треугольника x1, y1, x2, y2, x3, y3, принадлежащие отрезку [-5,5]. 6. Не используя формулы Герона и теоремы косинусов, вычислить периметр, площадь и медианы треугольника. 7. Вычислить длины наибольшей и наименьшей сторон треугольника. 8. Вывести с комментариями результаты вычислений (координаты вершин, периметр, площадь и медианы, длины наименьшей и наибольшей сторон треугольника) на экран дисплея. 9. Напечатать длины сторон в порядке возрастания. Начиная с 5 пункта не чего не получается. И не понимаю как сделать меню консольного вида( Прошу не злится только начал изучать С++ самостоятельно и вот напал на такую задачу) Добавлено через 21 час 29 минут Что не кто не может помочь? Добавлено через 6 часов 19 минут Начал работать непосредственно в С и вот:
Во вторых не ищет периметр( Добавлено через 17 часов 33 минуты Да уж ну тут и программисты(((( Вообще не кто не помог(
0
|
07.10.2010, 16:12 | |
Ответы с готовыми решениями:
42
Используя датчик случайных чисел на интервале получить целочисленный массив, состоящий из 320 элементов Сформировать одномерный массив целых чисел, используя датчик случайных чисел Сформировать одномерный массив целых чисел, используя датчик случайных чисел Сформировать одномерный массив целых чисел, используя датчик случайных чисел. |
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
10.10.2010, 15:18 | 21 | |||||
Примерно так:
1
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
|
10.10.2010, 15:29 [ТС] | 22 |
А как найти площадь и медиану без формул герона и синуса косинуса?В С++ есть какие нибуть трюки для этого?
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
10.10.2010, 15:30 | 23 |
На счёт формулы Герона: вы же на математика учитесь! А запрет на Герона вас уже в ступор ввёл. Тут площадь как минимум двумя способами можно вычислить, исходя из известных данных:
1. S = 0.5 * c * hc (c - основание, hc - высота, на него проведённая) 2. S = 0.5 * a * b * sin(a^b). Вы можете, имея координаты всех вершин, опустить перпендикуляр из одной вершины на прямую, проходящую через две других и узнать его длину. Вот вам и высота. Так же легко найти угол между двумя прямыми. Учебник по линейке в руки и вперёд.
0
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
|
10.10.2010, 15:33 [ТС] | 24 |
Это то я знаю) Я думал может в Си есть какие нибуть приемчики)(команды специальные)
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
10.10.2010, 15:34 | 25 |
Си - язык программирования. Если бы в нём были приёмчики для нужд математиков, а ещё для физиков, про экономистов, биологов и химиков не забудем... Как думаете, сколько бы весил компилятор и сколько бы он стоил?
0
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
|
10.10.2010, 15:38 [ТС] | 26 |
Тоже верно) Но надежда умирает последней)
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
10.10.2010, 15:41 | 27 |
Да у вас же всё просто, вычислили расстояние от точки до прямой - вот вам высота. Вычислили длину этой прямой - вот вам основание. Перемножили их да домножили на 0,5 - вот вам площадь.
Медианы - проще некуда! Нашли длины всех сторон. mc = sqrt((2a^2 + 2b^2 - c^2) / 4) - вот вам медиана на сторону c. Переставили длины сторон местами, получили две оставшиеся медианы... 10 строк кода, ничего сложного.
1
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
|
10.10.2010, 15:53 [ТС] | 28 |
А как вычислить длины наибольшей и наименьшей сторон треугольника.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
10.10.2010, 16:02 | 29 | |||||
Вычисляете всё длины (они вам дальше, для вычисления площади и медианы, всё равно понадобятся) и среди них ищете наибольшую и наименьшую.
Примерно так (решение в лоб, скорее всего можно упростить):
0
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
|
10.10.2010, 16:13 [ТС] | 30 |
А как вывести на экран наибольшую и наименьшую стороны. Изходя из выше написанного.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
10.10.2010, 16:44 | 31 | |||||
0
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
10.10.2010, 20:17 | 32 | |||||
0
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
||||||
10.10.2010, 23:58 [ТС] | 33 | |||||
А когда вписываю float min,max; то при выдает The variable 'min' is being used without being initialized. The variable 'max' is being used without being initialized. И не правильно отображает.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
10.10.2010, 23:59 | 34 |
В начале функции main напишите double min, max;
0
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
||||||
11.10.2010, 18:48 [ТС] | 35 | |||||
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
11.10.2010, 20:17 | 36 | |||||
1
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
||||||
13.10.2010, 16:28 [ТС] | 37 | |||||
А как еще вывести на экран длины сторон в порядке возрастания во второй части?
Вот немного оптимизированный текст)
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
13.10.2010, 16:59 | 38 |
Берете a,b,c поочередно. Если получится, что одна из этих сторон меньше max и больше min - тогда эта средняя сторона.
Далее просто выводите значение min, значение средней стороны, значение max. Добавлено через 35 секунд Не по теме: По какой специальности учитесь? Прикладная математика?
0
|
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
|
|
13.10.2010, 17:56 [ТС] | 39 |
Лучше тектстом напишите) Я вообще то учусь на Физика) И С++ из личного интереса) Просто искал контр. задания из универов и техникумов и напал на эту задачу(там лаба лежит, ща эту решу и след буду делать))
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
13.10.2010, 18:00 | 40 |
alemor,
У вас наблюдается сильная несистематизированность знаний, а эта штука хуже незнания. Незнание можно искоренить, а вот такую кашу из знаний - очень сложно. Вы бы по книжке учились. И решали оттуда задания. Не надо чураться сначала написать кучу Хэллоу Ворлдов разными способами, в конечном итоге это намного лучше закрепится, чем обучение всему и сразу на большой программе.
0
|
13.10.2010, 18:00 | |
13.10.2010, 18:00 | |
Помогаю со студенческими работами здесь
40
Сформировать одномерный массив целых чисел, используя датчик случайных чисел Сформировать одномерный массив целых чисел, используя датчик случайных чисел Сформировать одномерный массив целых чисел, используя датчик случайных чисел Сформировать одномерный массив целых чисел, используя датчик случайных чисел Задать массив из 10 вещественных чисел используя датчик случайных чисел Используя датчик случайных чисел (Random) сформировать массив A Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |