Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
1

Вычислить радиус круга, вписанного в равнобедренный треугольник

15.11.2012, 00:08. Показов 1205. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа программисты подскажите пожалуйста где ошибка?
создать программу для вычисления радиуса круга вписанного в равнобедренный треугольник
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
59
60
61
62
63
64
65
66
67
68
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int main()
{
  float tr[1][3];
  float r;
  float xa, ya,
        xb, yb,
        xc, yc;
  float a, b, c;
  int i;
  printf("vvedite kordinati tochek:");
  for (i=0; i<3; i++)
  {   printf("\nkordinati: %d-y tochki: x=", i+1);
      scanf("%f", &tr[i][0]);
      printf("                       y=");
      scanf("%f", &tr[i][1]);
  }
  xa=tr[1][1];
  xb=tr[1][2];
  ya=tr[2][1];
  yb=tr[2][2];
  xc=tr[3][1];
  yc=tr[3][2];
  a= (float) sqrt((xa-xb)*(xa-xa) + (ya-yb)*(ya-yb));
  b= (float) sqrt((xb-xc)*(xb-xc) + (yb-yc)*(yb-yc));
  c= (float) sqrt((xa-xc)*(xa-xc) + (ya-yc)*(ya-yc));
  
  if (a>0 && b>0 && c>0)
     {
          if ( a < b + c && b < a + c && c < a + b)
           { 
                if (a == b || b == c || c == a)
                    {
                            if (a==c && !(a==b))
                               {
                                  float r = (b/2)*sqrt((2*a-b)/(2*a+b));
                                  printf ("radius raven %f\n");
                               }
                            if (a==b && !(b==c))
                               {
                                     float r = (c/2)*sqrt((2*a-c)/(2*a+c));
                                     printf ("radius raven %f\n");
                                }
                            if  (c==b && !(b==a))
                               {
                                    float r = (a/2)*sqrt((2*b-a)/(2*b+a));
                                    printf("radius raven %f\n");
                                } 
                    }
                    else
                            printf ("treugolnik ne ravnobedrenniy!");
                    getch ();
                    return 0;
             }
             else
                printf ("treugolnik ne suchestvuet !");
             getch ();
             return 0;
      
      }
      else
            printf ("Kordinati dvuh ili bolee tochek sovpadayt!");
      getch ();
      return 0;           
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2012, 00:08
Ответы с готовыми решениями:

Центр вписанного круга в треугольник
Ребят, подскажите формулу для нахождения координат ценра вписаного круга, если известны координаты...

Требуется найти площадь вписанного в треугольник круга
Здравствуйте, дорогие форумчане. ------------------------------------ Перейду сразу к делу....

Найти площадь круга, вписанного в треугольник с заданными сторонами
Найти площадь круга, вписанного в треугольник с заданными сторонами. напишите программу которая...

Найти площадь круга, вписанного в треугольник с заданными сторонами. напишите программу которая работала бы )
Найти площадь круга, вписанного в треугольник с заданными сторонами. напишите программу которая...

14
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
15.11.2012, 00:13 2
Ну а по-твоему, где ошибка? А может быть её и нет вовсе?
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 00:15 3
Цитата Сообщение от vitaxa3581 Посмотреть сообщение
printf ("radius raven %f\n");
Что по-твоему он должен вывести? чему равен радиус ты так эту переменную и не передал на вывод.
Или ты думаешь, что printf сам догадается, что в предыдущей строчке у тебя float r вычислен?
0
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
15.11.2012, 00:16  [ТС] 4
приложение запускается, но любые кординаты выдают "treugolnik ne suchestvuet !"
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 00:20 5
Цитата Сообщение от vitaxa3581 Посмотреть сообщение
приложение запускается, но любые кординаты выдают "treugolnik ne suchestvuet !"
Вот это да! А я так надеялся что оно научит тебя параметры в printf передавать

Добавлено через 2 минуты
а по-твоему существуют только равносторонние треугольники?
Нет.
Более того, даже если бы floatы можно было точно проверять на равенство,
ты никогда в жизни не ввёл такие координаты вершин треуг-ка, что стороны окажутся точно равны.
Поэтому он и выдаёт, что треугольник не существует.
0
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
15.11.2012, 00:22  [ТС] 6
ребята вместо того чтоб матюкать меня, лучше помогите. это первое приложение создано мной. и уже мозги плавятся если честно.
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 00:25 7
C++
1
if (a == b || b == c || c == a)
надо так
const float eps=1e-3;
if ((fabs(a-b)<eps)&&(fabs(a-c)<eps)&&(fabs(c-b)<eps))
0
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
15.11.2012, 00:27  [ТС] 8
здесь сначала идет проверка на существование отрезков, потом на существование треугольника, потом на то что он равнобедренный, а потом вычисляется радиус окружности.
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 00:27 9
Цитата Сообщение от vitaxa3581 Посмотреть сообщение
ребята вместо того чтоб матюкать меня, лучше помогите. это первое приложение создано мной. и уже мозги плавятся если честно.
Это не лучший кандидат на первую программу. Хоть и кажется, что она из одного ряда с "найди большее из двух чисел", я уже перечислил в ней несколько хитрых моментов.
Тут массивы, операции с дробями, мат. вычисления.
Напиши Hello World 2+2=4. сначала.
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 00:27 10
Цитата Сообщение от vitaxa3581 Посмотреть сообщение
здесь сначала идет проверка на существование отрезков, потом на существование треугольника, потом на то что он равнобедренный, а потом вычисляется радиус окружности.
Я в курсе, что ты хотел сделать.
0
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
15.11.2012, 00:41  [ТС] 11
я бы рад писать "ХЭЛОВ" но препод сказал пиши это!!!
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 01:00 12
можно точное его задание услышать? Ты уверен, что учитель информатики сказал вводить дробные координаты (x, y) каждой вершины?
Кстати, какие ты координаты вводишь? Дюже интересно узнать, может треугольник и правда неравнобедренный.

Добавлено через 42 секунды
Цитата Сообщение от vitaxa3581 Посмотреть сообщение
я бы рад писать "ХЭЛОВ" но препод сказал пиши это!!!
А сам то ты учиться программированию хочешь? Или для препода это делаешь?
0
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
15.11.2012, 01:03  [ТС] 13
a:2 2 b:5 5 c:8 2

Добавлено через 1 минуту
сам хочу
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
15.11.2012, 01:22 14
Раз сам хочешь, изучай сам, читая литературу и решая самостоятельно примеры из неё.
А ошибки исправил, держи
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
59
60
61
62
63
64
65
66
67
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
 
int main()
{
  float tr[3][1];
  float r;
  float xa, ya,
        xb, yb,
        xc, yc;
  float a, b, c;
  int i;
  //Лучше упростить программу, чтоб она была без массивов
  printf("vvedite kordinati tochek:");
  printf("\nkordinati: 1-y tochki: (x y)");
  scanf("%f%f", &xa, &ya);
  printf("\nkordinati: 2-y tochki: (x y)");
  scanf("%f%f", &xb, &yb);
  printf("\nkordinati: 3-y tochki: (x y)");
  scanf("%f%f", &xc, &yc);
  
  //a= (float) sqrt((xa-xb)*(xa-xa) + (ya-yb)*(ya-yb));//WTF? xa-xa=0
  a= (float) sqrt((xb-xa)*(xb-xa) + (yb-ya)*(yb-ya));
  b= (float) sqrt((xb-xc)*(xb-xc) + (yb-yc)*(yb-yc));
  c= (float) sqrt((xa-xc)*(xa-xc) + (ya-yc)*(ya-yc));
  
 // if (a>0 && b>0 && c>0)  //ясен пеь больше. Это же корень! (правда может быть 0, но это учтётся)
          if (( a < b + c )&&( b < a + c )&&( c < a + b))
          { 
                if ( (a==b) ||(c==b) || (a==c))
                    {
                            if (a==c)
                               {
                                  r = (b/2.0)*sqrt((2.0*a-b)/(2.0*a+b));
                                  printf ("radius raven %f\n", r);
                               }
                            if (a==b)
                               {
                                     r = (c/2.0)*sqrt((2.0*a-c)/(2.0*a+c));
                                     printf ("radius raven %f\n", r);
                                }
                            if  (b==c)
                               {
                                    r = (a/2.0)*sqrt((2.0*b-a)/(2.0*b+a));
                                    printf("radius raven %f\n", r);
                                } 
                    }
                else{
                    printf ("treugolnik ne ravnobedrenniy!");
                    getch ();
                    return 0;
                }
          }
          else{
                   printf ("treugolnik ne suchestvuet !");
                   getch ();
                   return 0;
          }
 
       /*  }
         else
            printf ("Kordinati dvuh ili bolee tochek sovpadayt!");*/
      getch ();
      return 0;           
 }
1
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 75
15.11.2012, 02:10  [ТС] 15
спасибо огромное!!!!!!! но все равно изучать без подсказок нелегко.
0
15.11.2012, 02:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2012, 02:10
Помогаю со студенческими работами здесь

Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга
в треугольнике заданы сторона b, угол А радиус описаного круга R. Вычеслить и вывести на экран все...

Найти радиус круга, вписанного в равнобедренный треугольник
Нужно приложение с кнопками , желательно архив . Заранее спасибо за помощь .

Найти радиус круга, вписанного в равнобедренный треугольник
Параметры задает пользователь . Можно консольным приложением но желательно с кнопками .

Вычислить радиус круга, вписаного в треугольник
1.Ввести длину сторон треугольника 2.Вернуть значение True, если треугольник с такими сторонами...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru