Форум программистов, компьютерный форум 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
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
24.12.2010, 14:14     Работа для курсовой
Цитата Сообщение от Mr.X Посмотреть сообщение
и проверить, есть ли там точки множества, или нет.
А проверка, случайно, не перебором всех точек делается?
Чтобы пройтись по всем парам точек нужны циклы двойной вложенности.
Плюс цикл на поиск точки в наборе. Причем этот цикл пройдет по всем точкам набора.

Не по теме:

336 строчек STL кода. Респект.


В моем коде была пара неточностей. Так выглядит проще.
Не нужен был конструктор по-умолчанию, конструктор копирования и оператор присваивания.
Параметры-ссылки передаются в функции как константы.
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
#include <cmath>
#include <ctime>
#include <cstdlib>
#include <iostream>
 
using std::cout;
using std::endl;
 
struct Point {
  double x;
  double y;
};
 
double calc_distance(const Point &a, const Point &b) {
  return pow(static_cast<double>(pow(a.x - b.x, 2) + pow(a.y - b.y, 2)),
             static_cast<double>(0.5));
}
 
bool is_isosceles_triangle(const Point &a, const Point &b, const Point &c) {
  double ab = calc_distance(a, b);
  double ac = calc_distance(a, c);
  double bc = calc_distance(b, c);
  return (abs(ab - ac) < 0.0001) && (abs(ac - bc) < 0.0001) &&
         (abs(ab == bc) < 0.0001);
}
 
class PointSet {
 public:
  explicit PointSet(int size) : data_(new Point[size]), size_(size) { }
  ~PointSet() { delete [] data_; }
  Point& at(int i) { return data_[i]; }
  int size() const { return size_; }
  Point& operator[](int i) { return data_[i]; }
 private:
  Point* data_;
  int size_;
};
 
int main() {
  srand(static_cast<unsigned int>(time(0)));
 
  PointSet P(100);
 
  for (int i = 0; i < P.size(); ++i) {
    P[i].x = (rand() % 10000 + 1) / 100.;
    P[i].y = (rand() % 10000 + 1) / 100.;
    cout << "(" << P[i].x << ", " << P[i].y << ") ";
  }
 
  for (int a = 0; a < P.size() - 2; ++a)
    for (int b = a + 1; b < P.size() - 1; ++b)
      for (int c = b + 1; c < P.size(); ++c)
        if (is_isosceles_triangle(P[a], P[b], P[c]))
          cout << "(" << P[a].x << ", " << P[a].y << "), "
               << "(" << P[b].x << ", " << P[b].y << "), "
               << "(" << P[c].x << ", " << P[c].y << "): "
               << "is isosceles." << endl;
  cout << endl;
  return 0;
}
 
Текущее время: 13:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru