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

шаблон с конструктором копирования - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ STL, vector. iterator. как работает? http://www.cyberforum.ru/cpp-beginners/thread1060626.html
void invertArrange() //метод инвертирования порядка слов { istringstream ist(operLine); //Превращаем строку в поток vector<string> v((istream_iterator<string>(ist)), istream_iterator<string>()); //видимо помещаем поток в вектор? copy(v.rbegin(), v.rend(), ostream_iterator<string>(cout, " ")); //копируем в поток и выводим } Здравствуйте, пытаюсь...
C++ Как лучше отлавливать нажатия клавиш на клавиатуре при активном окне Здравствуйте.Делается проект Win32 на C++ с WinAPI.Подскажите пожалуйста (желательно с примерами) как лучше отлавливать нажатия на клавиатуре при активном окне. Например запущена моя программа и мне нужно при нажатии кнопок вверх, вниз, влево, вправо и Enter обрабатывались определенные сценарии как это можно реализовать? http://www.cyberforum.ru/cpp-beginners/thread1060623.html
Перегрузка оператора, для множественного использования C++
Всем доброе утро и с наступающим! Делаю свой класс строки, и мне захотелось сделать так чтобы ввод в эту строку был подобно выводу cout например: int a; char b; char c; OPstring str; str>>"i=">>a>>" a tak kak ">>c>>" olo ">>b; Так вот, класс я сделал, и перегрузку оператора >> сделал. Но встряла одна проблема! Он может делать это все только одно действие за раз! str>>a; str>>"=";
Не получается написать "Hello world!" C++
Здравствуйте. Я решил попробовать научиться программировать по книге Бьерна Страуструпа "Программирование. Принципы и практика использования С++" и первое же задание вызвало у меня затруднения. Вот код из книги ( без комментариев после знака //): #include "std_lib_facilities.h" int main() { cout << "Hello, World!\n"; return 0; } Сообщение "Hello, World!" не появилось, а при...
C++ Нужно подправить функцию, не работает http://www.cyberforum.ru/cpp-beginners/thread1060594.html
Помогите исправить ошибку 3 IntelliSense: expression must have arithmetic or enum type void searchprice(struct info arr,int create) { int sum = 0; char c; cin>>c; for (int i=0;i<create;i++) if (strcmp(arr.city,c)) sum+=arr.sellone; cout<<"Summ: "<<sum;
C++ Преобразование char* в const wchar_t * Есть кусок кода, при компиляции выскакивает ошибка о о неудачном преобразовании типов(вышеназванных) int i = 0; std::string line; char ArrayPaths; char* Array = ArrayPaths; std::ifstream paths("Файл"); std::ofstream *acs = new ofstream ; while (!paths.eof()) { подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
04.01.2014, 16:21     шаблон с конструктором копирования
Цитата Сообщение от xoror Посмотреть сообщение
Зачем искать периметр и площадь выпуклого многоугольника?
Вопрос в том, почему именно выпуклого многоугольника? Можно же искать площадь любого прямоугольника без пересекающихся граней. Выпуклый он или нет -- несущественно.

Не по теме:

Цитата Сообщение от Илья19 Посмотреть сообщение
Xoror, я просто прошу помочь, а не спрашивать, зачем это.
Это настолько детское требование помощи, что я аж прослезился.

Прямо не могу не повестись на столь грубую, банальную и детскую манипуляцию.


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
#include <cmath>
#include <iostream>
#include <iomanip>
#include <list>
 
class Point {
 public:
  Point(double x, double y) : x(x), y(y) {}
  Point() : x(0), y(0) {}
  double getX() const { return x; }
  double getY() const { return y; }
  double getDistanceTo(const Point &o) {
    return sqrt(pow(getX() - o.getX(), 2.0) + 
      pow(getY() - o.getY(), 2.0));
  }
 private:
  double x, y;
};
 
std::ostream &operator<<(std::ostream &stream, const Point &p) {
  return stream << "[" <<
    std::fixed << std::setprecision(2) << p.getX() << ", " <<
    std::fixed << std::setprecision(2) << p.getY() << "]";
}
 
class Polygon {
 public:
  Polygon(int size) : size(size), points(new Point[size]) {}
  ~Polygon() { delete [] points; }
  void setPoint(int i, const Point &point) { points[i] = point; }
  const Point &getPoint(int i) const { return points[i]; }
  const int getSize() const { return size; }
  double getPerimeter() const {
    double perimeter = 0.0;
    for (int i = 0; i < size; ++i) {
      perimeter += points[i].getDistanceTo(points[(i + 1) % size]);
    }
    return perimeter;
  }
  double getArea() const {
    double area = 0.0;
    for (int i = 0; i < size; ++i) {
      area += 
        points[i].getX() * points[(i + 1) % size].getY() -
        points[i].getY() * points[(i + 1) % size].getX();
    }
    return fabs(area) / 2.0;
  }
 private:
  int size;
  Point *points;
};
 
std::ostream &operator<<(std::ostream &stream, const Polygon &p) {
  stream << "Polygon{";
  for (int i = 0; i < p.getSize(); ++i) {
    stream << p.getPoint(i);
    if (i < p.getSize() - 1) {
      stream << ", ";
    }
  }
  return stream << "}";
}
 
 
int main(int, char**) {
  Polygon polygon(5);
  polygon.setPoint(0, Point(0, 0));
  polygon.setPoint(1, Point(0, 1));
  polygon.setPoint(2, Point(0.5, 0.5));
  polygon.setPoint(3, Point(1, 1));
  polygon.setPoint(4, Point(1, 0));
 
  std::cout << polygon << std::endl;
  std::cout << "Perimeter: " << polygon.getPerimeter() << std::endl;
  std::cout << "Area: " << polygon.getArea() << std::endl;
  
  return 0;
}
 
Текущее время: 21:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru