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

Массив векторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс Равносторонний треугольник http://www.cyberforum.ru/cpp-beginners/thread1043604.html
Здравствуйте. Помогите написать программу. Заранее спасибо. Создать класс Равносторонний треугольник, член класса – длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – периметр, площадь. Создать производный класс – правильная треугольная призма с высотой H, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений...
C++ Создать класс Time Здравствуйте. Помогите написать программу. Заранее спасибо. Создать класс Time для работы со временем в формате «час:минута:секунда». Класс должен включать в себя не менее четырех функций инициализации: числами, строкой (например, «23:59:59»), секундами и временем. Обязательными операциями являются: вычисление разницы между двумя моментами времени в секундах, сложение времени и заданного... http://www.cyberforum.ru/cpp-beginners/thread1043602.html
C++ Написать программу, работающую со структурами Автомобиль
Здравствуйте. Помогите написать программу. Заранее спасибо. Описать структуру с именем «Автомобиль», содержащую следующие поля: а) марка; б) год выпуска; в) цена; г) цвет. Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из N элементов типа Автомобиль; б) упорядочить все элементы по году выпуска автомобиля; в) вывести информацию об...
C++ Перегрузка операторов
Разработайте программу, в которой реализована перегрузка оператора «-». Оператор «-» должен определять разность элементов, лежащих на побочной диагонали двухмерного массива я так понимаю разность будет искаться как-то так loat array; int otherdiag = 0; for(int i = 0;i < a;i++){ otherdiag -= array; } а вот как сделать перегрузку оператора, и собрать это все добро в кучу
C++ Разработать программу для определения попадает ли точка в область изображенную на рисунке http://www.cyberforum.ru/cpp-beginners/thread1043575.html
Разработать программу для определения – попадает ли точка с координатами x, y, в область изображенную на рисунке. Исходные данные (x, y, R1, R2) должны быть считаны с экрана. Осуществлять проверку исходных данных (x1, y1, R1, x2, y2, R2) на соответствие варианту (обязательное касание окружностей). Помогите пожалуйста! У меня с нижней частью запара. Вот те ограничения, что я использую:...
C++ Открытие файлов разных расширений в одной программе Здравствуйте, есть вопрос. Как задать условие для открытия файла? есть программа, в которой при нажатии на обзор как и всегда предлагается выбрать файл, так вот, как сделать так, что бы например если этот файл имеет расширение .doc или .docx то происходит одно, а если .txt то другое, и если какое нибудь другое расширение то выпрыгивает ошибка и пугает людей. Спасибо) Добавлено через 50 минут... подробнее

Показать сообщение отдельно
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
16.12.2013, 16:01     Массив векторов
Цитата Сообщение от EdNaron Посмотреть сообщение
{vecM.X=x; vecM.Y=y;}
Так делать нельзя.

Цитата Сообщение от EdNaron Посмотреть сообщение
double Scale (Vector v)
Scale это масштаб

Длина это Length, иногда пишут size - размер, ибо короче.

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
#include <iostream>
#include <vector>
#include <pair>
#include <algorithm>
 
using namespace std;
 
class vector2d : public pair<double, double>
{
    vector2d() : pair<double, double>() { }
    vector2d(double x, double y) : pair<double, double>(x, y) { }
    
    vector2d operator + (vector2d value) { // сложение
        return vector2d(value.first + first, value.second + second);
    }
    
    vector2d operator - (vector2d value) { // вычитание
        return vector2d(first - value.first, second - value.second);
    }
    
    double operator * (vector2d value) { // скалярное умножение
        return first * value.first + second * value.second;
    }
    
    double length(vector2d value) { // расстояние между точками
        return sqrt(
            pow(first - value.first, 2) * 
            pow(second - value.second, 2)
        );
    }
    
    double length() { // расстояние до центра, т.е. длина вектора
        return sqrt(fist * fist, second * second);
    }
    
    bool operator < (vector2d value) {
        return ength() < value.length();
    }
};
 
int main()
{
   int n;
   cin >> n;    // считали количество точек
   vector<vector2d> v(n);       // создали масив точек
   for (int i = 0; i < n; ++i) {
       cin >> v[i].first >> v[i].second;    // считали 
   }
   sort(v.begin(), v.end());                // отсортировали
   for (int i = 0; i < n; ++i) {
       cout << v[i].first << v[i].second;    // вывели
   }
   
   return 0;
}
P.S. код не тестил, ошибки есть, думаю разберешься.
 
Текущее время: 03:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru