Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как добавлять предметы в динамический char массив в классе https://www.cyberforum.ru/ cpp-beginners/ thread2235688.html
Народ скажите пожалуйста есть в классе дин массив символьного типа как добавлять в него предметы? не выходит (cin.getline(dis, 1024, '\n');( даже ввода в массив не видит). Может в конструкторе что-то...
одномерные массивы C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер минимального по модулю элемента массива; 2) сумму модулей элементов массива, расположенных после первого...
C++ Чтение из файла в массив структур
Помогите пожалуйста как правильно написать код. Есть некий текстовый файл на самом деле это Ексел таблица которая сохранена как csv (разделители запятые).Вот так выглядит одна строка в данном файле....
C++ Считывание чисел из файлов Здравствуйте, имеется 2 файла, в первом файле хранятся 2 числа: 121 122, во 2-ом файле также 2 числа: 123 124. Необходимо считать из 1го файла:121 из 2-го 123 и сложить, потом 122и 124 сложить.... https://www.cyberforum.ru/ cpp-beginners/ thread2235663.html
C++ Утечки памяти без выделения памяти? https://www.cyberforum.ru/ cpp-beginners/ thread2235620.html
Человек использует _CrtDumpMemoryLeaks() для отлова утечек, и обратился ко мне в сязи с тем, что есть утечка, но памяти он никому не выделял. Проверил проект... Даже, если функция main будет...
C++ Функция определяющая количество элементов массива находящихся в заданном диапазоне
Написать функцию, которая для заданого как параметр массива действительного типа возвращает число элементов, значение абсолютных величин которых находятся в диапазоне 0... 1. Значение этих элементов...
C++ Построенный массив упорядочить в порядке возрастания
Здравствуйте, уважаемые кодеры. Заданный одномерный массив А из 10 цифр. Построить массив В, каждый элемент которого вычисляется: bі = aі+1 - аіПостроенный массив упорядочить в порядке возрастания...
C++ Работа с линейным односвязным списком Создать класс для работы с однонаправленным линейным списком, содержащим целочисленные элементы. Реализовать следующие методы класса: - добавление элемента в начало списка; - добавление элемента... https://www.cyberforum.ru/ cpp-beginners/ thread2235584.html
C++ Прибавить ко все элементам очереди число, вводимое с клавиатуры https://www.cyberforum.ru/ cpp-beginners/ thread2235582.html
Дана очередь, заполненная целыми числами. Прибавить ко все элементам очереди число, вводимое с клавиатуры. Решить задачу, используя класс для работы с очередью.
C++ Поместить четные элементы в один стек, нечетные - во второй Дан стек, заполненный целыми числами. Поместить четные элементы в один стек, нечетные - во второй. Решить задачу, используя класс для работы со стеком. Класс должен содержать методы добавления и... https://www.cyberforum.ru/ cpp-beginners/ thread2235581.html
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 4
26.04.2018, 16:12  [ТС] 0

Использовать метод transform() вместо метода sort()

26.04.2018, 16:12. Просмотров 950. Ответов 4
Метки (Все метки)

Ответ

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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#define _USE_MATH_DEFINES
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <set>
#include <algorithm>
#include <queue>
#include<ctime>
const double Pi = 3.14159265;
using namespace std;
class Object {
protected: string name;
protected: int number;
public: static int count;
public: Object(const string&n, int num) {
    name = n;
    number = num;
    ++count;
}
        Object() {
            name = "";
            number = 0;
            count = 0;
        }
        Object(const Object&A) {
            name = A.name;
            number = A.number;
            ++count;
        }
public:
    void info(ostream&S)const {
        S << "Номер объекта: " << number << "Имя объекта: " << name;
    }
    friend ostream &operator<<(ostream&S, const Object&A) {
        A.info(S);
        return S;
    }
};
int Object::count = 0;
class line : public Object {
protected:
    double a, b, c;//коэфиценты прямой
public:
    line(double a1, double b1, double c1, int t, string s = "Прямая") :Object(s, t) {
        a = a1; b = b1; c = c1;
    }
    line() {
        a = 0, b = 0; c = 0;
    }
    line(const line&A) {
        a = A.a; b = A.b; c = A.c;
        number = A.number, name = A.name;
    }
    void Norma() {//нормальное уравнение прямой
        a = a / sqrt(a*a + b*b); b = b / sqrt(a*a + b*b); c = c / sqrt(a*a + b*b);
    }
    double Length(double x, double y) {//расстояние от точки до прямой
        return (abs(a*x + b*y + c)) / sqrt(a*a + b*b);
    }
    double Pointx(const line&f) {//точка пересечения двух прямых
        return ((c*f.b - f.c*b) / (a*f.b - f.a*b));
    }
    double Pointy(const line&f) {
        return (a*f.c - f.a*c) / (a*f.b - f.a*b);
    }
    line(double a1, double b1, double c1) {
        a = a1; b = b1; c = c1;
    }
 
    line& operator=(const line&A) {
        a = A.a; b = A.b; c = A.c;
        number = A.number, name = A.name;
        return *this;
    }
    friend istream&operator >> (istream&S, line&A) {
        S >> A.a >> A.b >> A.c;
        return S;
    }
    friend ostream&operator<<(ostream&S, const line&A) {
        S << A.a << "x" << "+" << A.b << "y" << "+" << A.c << "=0" << endl;
        return S;
    }
    void info(ostream&S)const {
        S << "Номер объекта: " << number << " " << "Имя объекта: " << name << " " << "\n";
    }
};
class VLine : public line {
    double a, b, c;//Длина стороны и высоты
public:
    VLine() { // конструктор по умолчанию
        a = 0; c = 0;
    }
 
    VLine(double a1, double c1) {
        a = a1; c = c1;
    }
    VLine(const VLine&d) {
        a = d.a; c = d.c;
    }
    VLine& operator=(const VLine&d) {
        a = d.a;  c = d.c;;
        return *this;
    }//указатель на самого себя
    void Norma() {//нормальное уравнение прямой
        a = a / sqrt(a*a); b = 0; c = c / sqrt(a*a);
    }
    double Length(double x, double y) {//расстояние от точки до прямой
        return (abs(a*x + c)) / sqrt(a*a);
    }
    double Pointx(const VLine&f) {//точка пересечения двух прямых
        return ((c*f.b - f.c*b) / (a*f.b - f.a*b));
    }
    double Pointy(const VLine&f) {
        return 0;
    }
    friend istream& operator>>(istream &s, VLine &d) {
        s >> d.a >> d.c;
        return s;
    }
    friend ostream& operator<<(ostream &s, const VLine&d) {
        s << d.a << "x" << d.c << "=0" << endl;
        return s;
    }
};
int main() {
    setlocale(0, "");
    string s = "";
    srand(time(NULL));
    vector <line> A(5);
    int i = 1;
    generate(A.begin(), A.end(), []() {return line(rand() % 10 + 1, rand() % 10 + 1, rand() % 10 + 1, rand() % 100 + 1); });
    vector <line>::iterator it;
    cout << "До сортировки:  \n";
    for (it = A.begin(); it != A.end(); it++) {
        it->info(cout);
        cout << *it;
        cout << "Расстояние: " << it->Length(0, 0) << '\n';
    }
    transform(A.begin(), A.end(), A.begin(), line(rand() % 10 + 1, rand() % 10 + 1, rand() % 10 + 1, rand() % 100 + 1));
    cout << '\n';
    cout << "После сортировки:  \n";
    for (it = A.begin(); it != A.end(); it++) {
        it->info(cout);
        cout << *it;
        cout << "Расстояние от (0,0) до прямой: " << it->Length(0, 0) << '\n';
    }
    cout << "\n Уравнения прямых нормального вида:  \n";
    for (it = A.begin(); it != A.end(); it++) {
        it->info(cout);
        it->Norma();
        cout << *it;
    }
    system("pause");
    return 0;
}


Вернуться к обсуждению:
Использовать метод transform() вместо метода sort()
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2018, 16:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Странное поведение метода Sort()
Добрый день. Подскажите пожалуйста по C#. У меня есть некоторый объект List. Применяют к нему...

В классе Array есть метод Sort. Можете ли вы улучшить этот метод, если значения в массиве часто повторяются
Как то проходил собеседование в одну конторку.Задали логическую задачку которую не смог...

Скорость выполнения метода массивов sort
Является ли оригинальный метод sort самым быстрым или же есть алгоритмы быстрее используемого в...

ошибка при использовании метода Sort - 448
В чем причина ошибки в коде? ActiveSheet.ListObjects(&quot;Таблица_Договоры_бд&quot;).Sort...

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