C/C++

Написать программу на языке программирования C++

1. Написать функцию, которая выясняет можно ли построить треугольник по 3 длинам сторон, построить треугольники и найти наименьшую площадь.

-----

2. Решить задачу map'ом: Ввод, вывод из файла. Дано n записей о людях: уникальный_номер фамилия. Далее число m. После этого m чисел. Ответ – m строк, в каждой из которых должна быть фамилия человека с таким номером или сообщение: "Такого нет".

Пример:
4
1 - А
2 - Б
5 - В
4 - Г
3
1
4
3

Ответ:
А
Г
Такого нет

-----

3. Поставьте знак сравнения (>, <, ==) между парами строк и обоснуйте
свой ответ:

1) "Процессор" __ "Процесс";

2) "Balkon" __ "balkon";

3) "кошка " __ "кошка";

4) "окно" __ "оКно";

5) "муха" __"СЛОН";

6) "кино" __ "кино";

7) "мышь" __ "мышь";

8) "Иванов" __ "Петров";

9) "Смирнов" __ "Смирнова".

4.
А - Дана строка, содержащая по крайней мере один символ пробела. Вывести
подстроку, расположенную между первым и вторым пробелом исходной строки.
Если строка содержит только один пробел, то вывести пустую строку.

Б - Дана строка, содержащая по крайней мере один символ пробела. Выве-
сти подстроку, расположенную между первым и последним пробелом исходной
строки. Если строка содержит только один пробел, то вывести пустую строку.

В - Дана строка-предложение. Зашифровать ее, поместив вначале все сим-
волы, расположенные на четных позициях строки, а затем, в обратном порядке,
все символы, расположенные на нечетных позициях (например, строка «Про-
грамма» превратится в «ргамамроП»).
1)

#include <iostream>
#include <set>
using namespace std;
struct Triangle {
double a, b, c;
Triangle() : a(0), b(0), c(0) {}
Triangle(double a, double b, double c) : a(a), b(b), c(c) {}
double perimetor()const {
return a + b + c;
}
bool exists()const {
auto p = perimetor() / 2;
return (p - a) * (p - b) * (p - c) > 0;
}
double area()const {
auto p = perimetor() / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
friend bool operator<(const Triangle& a, const Triangle& b) {
return a.area() < b.area();
}
friend ostream& operator<<(ostream& out, const Triangle& t) {
return out << "{ " << t.a << "; " << t.b << "; " << t.c << " }";
}
};
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
return value;
}
Triangle triangle() {
auto a = real("a: ");
auto b = real("b: ");
auto c = real("c: ");
return { a, b, c };
}
int main() {
const auto n = 3;
multiset<Triangle> box;
while (box.size() < n) {
auto t = triangle();
if (t.exists()) box.insert(t);
else puts("Triangle not exists!");
puts("");
}
cout << "Area min " << *box.begin() << ": " << box.begin()->area() << '\n';
system("pause > nul");
}
Еду@рдо @
Еду@рдо @
58 325
Лучший ответ