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

Используя датчик случайных чисел, получить координаты вершин треугольника x1, y1, x2, y2, x3, y3, принадлежащие отрезку [-5,5] - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ матрица инцидентности http://www.cyberforum.ru/cpp-beginners/thread172819.html
матрица инцидентности задано множество пар вершин, построить матрицу инцидентности как вывести матрицу инцидентности?? cout<<"\nvvedite kilkist vershin: "; cin>>n; int kr; //введення cout<<"\n"<<"vvedite pochergovo rebra (po zavershenu vvedite '0'):"<<"\n";
C++ Нужно Составить алгоритм расчета по двум формулам Всем привет! Нужно написать код что бы пользователь мог ввести число переменной и программа всё должна посчитать и выдать результат Z1 и Z2 (Ответ должен получиться одинаковый) http://www.cyberforum.ru/cpp-beginners/thread172813.html
C++ Добавление элем в список
Помогите написать программу для добавление нового элемента в однонаправленный список перед минимальным ключом списка. Добавление элем реализую в "void los::dobavlenie()" Пока получилось только вставлять элемент в конец списка. А как вставить элемент перед нужным нам элементом, то есть перед минимальным. #include<iostream.h> #include<conio.h> #include<stdio.h> #include<iomanip.h> class los...
Златопольский Д М C++
Есть отличнейший задачник Златопольский Д. М. "Сборник задач по программированию " но решений в нём нет((( и найти их что-то не получаеться, может у кого есть, а то задачи решаю и очень хотелось бы свериться!
C++ В строке символов поменять местами символы на четных и нечетных позициях http://www.cyberforum.ru/cpp-beginners/thread172805.html
В строке символов поменять местами символы на четных и нечетных позициях.
C++ Множители Дано количество способов разложить число на множители. Нужно узнать это число (наименьшее из них). Я использовал перебор чисел, для каждого узнавал количество делителей и сравнивал с нужным нам. (Число способов меньше 50). Но для чисел 31, 27, 43, 46, 47 ответ найти не удалось. Пример: Ввод: 4 Перебор..... 24=1*24=2*12=3*8=4*6 - всего 4 способа (2*12 и 12*2 считаются одним способом) Вывод: 24... подробнее

Показать сообщение отдельно
alemor
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
14.10.2010, 10:04  [ТС]     Используя датчик случайных чисел, получить координаты вершин треугольника x1, y1, x2, y2, x3, y3, принадлежащие отрезку [-5,5]
И кстате не вслепую) Просто с одним глазом) Поможете дописать? А то не люблю не завершенность(

Добавлено через 24 минуты
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include "StdAfx.h"
#include "stdio.h"
#include "ctype.h"
#include "math.h"
#include "cstdlib"
 
 
 
int main()
{
 float min, max, sr;
 while (1)
 {
  printf("Лаболаторная работа номер 1\n");
  begin:printf("Выберите действие:\n   1 - Часть 1;\n   2 - Часть 2;\n   X - Выход\n");
  char key;
  key=getc(stdin);
  fflush(stdin);
  key=toupper(key);
  switch (key)
  {
     case '1':
     {
        float a,b,c;
        printf("Введите длину отрезка a\n");
        scanf("%f", &a);
        printf("Введите длину отрезка b\n");
        scanf("%f", &b);
        printf("Введите длину отрезка c\n");
        scanf("%f", &c);
        if (a+b>=c || a+c>=b || b+c>=a) printf("Треугольник получился\n");
        else if (a+b<=c || a+c<=b || b+c<=a) printf("Не треугольник попробуйдете заново\n");
        float p=a+b+c;
        printf("Периметр: %3.3f\n",p);
        p/=2;
        float s=sqrt(p*(p-a)*(p-b)*(p-c));
        printf("Площадь: %3.3f\n",s);
        float h=2*s/a;
        float asin=h/b;
        float acos=sqrt(1-asin*asin);
        float a2sin=sqrt(0.5*(1+acos));
        float m=h/a2sin;
        float bs=2*s/a2sin/(a+b);
        printf("Высота, медиана, биссектрисса A: %3.3f, %3.3f, %3.3f\n",h,m,bs);
        h=2*s/b;
        asin=h/c;
        acos=sqrt(1-asin*asin);
        a2sin=sqrt(0.5*(1+acos));
        m=h/a2sin;
        bs=2*s/a2sin/(c+b);
        printf("Высота, медиана, биссектрисса B: %3.3f, %3.3f, %3.3f\n",h,m,bs);
        h=2*s/a;
        asin=h/c;
        acos=sqrt(1-asin*asin);
        a2sin=sqrt(0.5*(1+acos));
        m=h/a2sin;
        bs=2*s/a2sin/(a+c);
        printf("Высота, медиана, биссектрисса C: %3.3f, %3.3f, %3.3f\n\n\n",h,m,bs);
        break;
     }
     case '2':
                 {
                         float x1=10*rand()/RAND_MAX-5;
                         float x2=10*rand()/RAND_MAX-5;
                         float x3=10*rand()/RAND_MAX-5;
                         float y1=10*rand()/RAND_MAX-5;
                         float y2=10*rand()/RAND_MAX-5;
                         float y3=10*rand()/RAND_MAX-5;
                         float a=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
                         float b=sqrt(pow(x3-x1,2)+pow(y3-y1,2));
                         float c=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
                         float p=a+b+c;
                         printf("Периметр: %3.3f\n",p);
                         p/=2;
                         float h=2*(sqrt(p*(p-a)*(p-b)*(p-c)))/2;
                         float s=0.5*c*h;
                         printf("Площадь: %3.3f\n",s);
                         float mc=sqrt((2*(a*a) + 2*(b*b) - c*c) / 4);
                         float ma=sqrt((2*(c*c) + 2*(b*b) - c*a) / 4);
                         float mb=sqrt((2*(a*a) + 2*(c*c) - b*b) / 4);
                         printf("Медиана а: %3.3f\n",ma);
                         printf("Медиана b: %3.3f\n",mb);
                         printf("Медиана c: %3.3f\n\n\n",mc); 
                         max=(a>b)?a:b;
                         max=(max>c)?max:c;
                         min=(a<b)?a:b;
                         min=(min<c)?min:c;
                         if (a >= min && a <= max)
                            sr = a;
                         else
                                {
                                 if (b >= min && b < max)
                                 sr = b;
                                 else
                                 sr = c;
                                }
 
                          printf("max = %lf\nmin = %lf\n", max, min);
                          printf("В порядке возрастания:  %lf, %lf, %lf\n",min,sr,max);
                          break;
                 }
     case 'X':goto end;break;
         default:goto begin;break;
   }
  }
  getc(stdin);
  end:return 0;
}

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