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

Работа для курсовой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пошаговый ввод данных http://www.cyberforum.ru/cpp-beginners/thread205800.html
Выполнить задание без хранения последовательности значений... Вводится последовательность из n вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к какому-либо целому. #include <iostream> #include <math.h> #include <stdio.h> using namespace std; void main() { int n, i=1; cout<<"Enter elements' demension: ";
C++ Найти последнее вхождение подстроки в строку Нужно нати последнее вхождение определенной подстроки в строку. Help! http://www.cyberforum.ru/cpp-beginners/thread205797.html
C++ Выбор среды
Прошу прощение, за повтор темы, но главная тема закрыта для обсуждения, а ответа на свой вопрос я не нашла. Подскажите, пожалуйста, в какой бесплатной среде программировать, если я до этого пользовалась CodeGear RAD Studio, а до него продуктом от Borland.
C++ вывести слова из файлы наоборот
на диске заранее создан файл, в нем записан некоторый текст, необходимо вывести слова текста в обратном порядке вот я написал программу кот. выводит слова в обратном порядке #include <iostream.h> #include <string.h> void main() { char text, text1; char *p; int i; cin.getline(text,80);
C++ Вывод координат на осях графика http://www.cyberforum.ru/cpp-beginners/thread205789.html
Необходимо вывести график параметрической функции с осями и, собственно, координатами точек. Т.к. график параметрический, то он может получится самых забавных форм, что усложняет "красивый" вывод координат. В каком виде лучше производить вывод значений координат точек? И какие функции С++ лучше использовать при переводе числовых значений в строковые, и какие для самого вывода? Заранее...
C++ Функция умножения массивов Написать функцию умножения массивов. подробнее

Показать сообщение отдельно
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
08.12.2010, 04:22     Работа для курсовой
Шансов, что из ста случайных точек со значениями от 1 до 10, найдется три, составляющие равносторонний треугольник... ну мало, в целом.

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
#include <iostream>
#include <iomanip>
#include <time.h>
#include <vector>
#include <string>
#include <algorithm>
 
using namespace std;
typedef pair<double, double> Point;
 
double _distance(Point &a, Point &b)
{
    return pow(static_cast<double>(pow(a.first - b.first, 2) + pow(a.second - b.second, 2)), static_cast<double>(0.5));
}
 
bool is_isosceles_triangle(Point &a, Point &b, Point &c)
{
    double ab = _distance(a, b);
    double ac = _distance(a, c);
    double bc = _distance(b, c);
    return (abs(ab - ac) < 0.001) && (abs(ac - bc) < 0.001) && (abs(ab == bc) < 0.001);
}
 
void main()
{
    srand(static_cast<unsigned int>(time(0)));
 
    vector<Point> V(100);
 
    generate(V.begin(), V.end(), []()->Point{ return Point(rand()%10+1, rand()%10+1); });
    V[1] = Point(0, 0);
    V[2] = Point(1, 0);
    V[3] = Point(0.5, 0.86602);
 
    for_each(V.begin(), V.end(), [](Point p){ cout << "(" << p.first << ", " << p.second << ") "; });
    cout << endl;
 
    for (auto a=V.begin(); a!=V.end()-2; a++)
        for (auto b = a+1; b!=V.end()-1; b++)
            for (auto c = b+1; c!=V.end(); c++)
            {
                if (is_isosceles_triangle(*a, *b, *c))
                    cout << "(" << a->first << ", " << a->second << "), " 
                         << "(" << b->first << ", " << b->second << "), " 
                         << "(" << c->first << ", " << c->second << "): "
                         << "is isosceles." << endl;
            }
    system("pause");
}

Не по теме:

C++0x такой C++0x...

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