Даны два персонажа сценарии: два друга. составьте программу, используя среду программирования и написать скрипты для каждого персонажа. так как они друзья, когда они встречаются, то обязательно друг друга словом "сэлем" один из них спрашивает "как дела? ", другой отвечает "! хорошо! ". известно
следующие условие: "когда нажат пробел, товарищи всегда идут на встречу, если касаются друг друга выдаётся сообщение "сэлем" "как дела? " "! хорошо! "" ! много . сейчас нужен.
3. CREATE TABLE
нужны имя полей и тип их данных, например уникальный ID это id = PRIMARY KEY
текст = text , не пустой текст = TEXT NOT NULL ,
числа = REAL,INT время = DATE и т.д
6. SELECT, FROM, GROUP BY, WHERE, ORDER BY, HAVING
7. SELECT - указывает , что извлекать из таблицы, так же может содержать агрегирующие функции и функции времени такие как EXTRACT, DATE_TRUNC
8. FROM - указывает из какой таблицы извлекать, так же можно указать подзапрос
9. WHERE - указывает какие условия нужны для извлечения , которые указаны в SELECT, не может сравнивать агрегирующие функции , для этого есть HAVING, также может содержать подзапрос
10. GROUP BY - групирует по .., HAVING - то же самое , что WHERE , только для агрегирующих функций
11. ORDER BY - использует методы ASC(по возрастанию значений) пример - имя_поле ASC, или DESC(по убыванию значений) - имя_поля DESC
Объяснение:
Будут вопросы напиши в коменты(
С++20
#include <iostream>#include <vector>class Point {public: int x, y; Point() = default; Point(const Point &) = default; Point(int _x, int _y) : x(_x), y(_y) {} Point operator + (const Point& p) const { return Point {x + p.x, y + p.y}; } Point operator - (const Point& p) const { return Point {x - p.x, y - p.y}; } std::vector<Point> operator & (const Point& p) const { return std::vector<Point> { Point {x + p.x, y + p.y}, Point {x - p.x, y + p.y}, Point {x + p.x, y - p.y}, Point {x - p.x, y - p.y}, Point {x + p.y, y + p.x}, Point {x - p.y, y + p.x}, Point {x + p.y, y - p.x}, Point {x - p.y, y - p.x}, }; } static Point max (const Point& p1, const Point& p2) { return Point {std::max(p1.x, p2.x), std::max(p1.y, p2.y)}; } static Point min (const Point& p1, const Point& p2) { return Point {std::min(p1.x, p2.x), std::min(p1.y, p2.y)}; } [[nodiscard]] int distance_to_by_ch (const Point & p) const { return std::max(std::abs(p.x - x), std::abs(p.y - y)); } [[nodiscard]] int distance_to_by_m (const Point & p) const { return std::abs(p.x - x) + std::abs(p.y - y); } friend std::ostream &operator << (std::ostream &os, Point const &p) { return os << "(" << p.x << ";" << p.y << ")"; } Point & operator = (const Point &) = default; bool operator == (const Point & p) const { return x == p.x && y == p.y; }};class Horse {public: const Point p; explicit Horse (const Point position) : p(position) { } [[nodiscard]] bool can_I_kill_this_guy (const Point & m) const { auto field = p & Point{2, 3}; return std::find(field.begin(), field.end(), m) != field.end(); }};std::istream &to_number(std::istream &stream) { char ch; do { ch = stream.get(); } while (!isalpha(ch)); if (isupper(ch)) ch -= 16; else ch -= 48; stream.putback(ch); return stream;}int main () { Point horse_p{}, stranger_p{}; std::cin >> horse_p.x >> to_number >> horse_p.y; std::cin >> stranger_p.x >> to_number >> stranger_p.y; Horse jack(horse_p); std::cout << "I am a Horse placed on " << jack.p << ". " << "Can I kill those guy on " << stranger_p << "? " << "-> " << std::boolalpha << jack.can_I_kill_this_guy(stranger_p); }