481

(14 521 відповідей, залишених у Інше)

День програмі́ста — професійне свято програмістів, яке відзначають у 256-й день року (у високосний рік це 12 вересня, а у невисокосний — 13 вересня).

хто буде святкувати?

482

(2 581 відповідей, залишених у Інше)

https://www.google.com.ua/maps/@47.5374 … 144!8i3072

XD
гугл карти

483

(2 581 відповідей, залишених у Інше)

смертельні дози
3 кісточки вишні
250 гр солі
27 грамів цукру кілограм ваги тіла

змінив:
перейменував інформер в Shop
зробив метод buy статичним

додав:
видалення всіх new

зміна відбулася в 2х файлах

Прихований текст

туть = щось змінилось
main.cc

#include <iostream>
#include <thread>

#include "User.h"
#include "Product.h"
#include "Shop.h" //туть

int main()
{
    User* admin = new User("Київ, вул.Соборна 19", "admin", 10000);
    Product* products[3] = {
        new Bread(16, "хліб круглий", "хз"),
        new Milk(30, "молоко селянське", "Люстдорф", 2.5),
        new Gold(1000, "золото", "НБУ")
    };

    int num = 0;
    int size = sizeof(products)/sizeof(products[0]);

    while (true)
    {
        std::cout << "Вітаю!\nВаш баланс: " << admin -> balance_ << "\n\n";

        for (int i = 0; i < size; i++)
        {
            std::cout << "Номер товару " << i << "\n";
            products[i] -> info();
            std::cout << std::endl;
        }

        std::cout << "Введіть номер тавару та нажміть ентер\n";
        std::cin  >> num;

        if (!(std::cin))
        {
            break;
        }
        
        std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";

        if ((num >= 0) && (num < size))
        {
            Shop::buy(admin, products[num]); //туть
        }
        else
        {
            std::cout << "Таких товарів немає!\n";
            break;
        }
        std::this_thread::sleep_for(std::chrono::milliseconds(3000));

        std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
    }

    //туть
    delete admin;

    for (int i = 0; i < size; i++)
    {
        delete products[i];
    }
}

Shop.h

#pragma once
#include "User.h"
#include "Product.h"

class Shop //туть
{
public:
    void static /*туть*/ buy(User* user, Product* product)
    {
        double price = product -> get_price(user);
        user -> reduce_balance(price);
        std::cout << user -> name_ << " купив "<< product -> name_ << " за " << price << std::endl;
        std::cout << "Ваше замвлення відправлено на склад!\nОчікуйте товар.";
        /*
         *  якийсь код...
         *  який відбправляє запрос кудись :D
         */
    }
};

Згоден, Informer невдала назва =(

Переписав все з нуля :D
Ніби все нормально вже.
Ну це я так думаю =(

хоча можна в продукті дещо змінити
upd: змінив

що змінив

було

#pragma once

#include <iostream>
#include <string>
#include "User.h"

class Product
{
public:
    double price_;
    std::string name_;
    std::string manufacturer_;

    Product(){}

    double virtual get_price(User* user)
    {
        if (user -> spent_ < 1000)
        {
            return price_;
        }
        
        if (user -> spent_ < 5000)
        {
            return price_ * 0.9; 
        }
        
        return price_ * 0.8;
    }

    void virtual info()
    {
        std::cout << "Назва: "    << this -> name_         << "\n"
                  << "Ціна: "     << this -> price_        << "\n"
                  << "Виробник "  << this -> manufacturer_ << "\n";
    }
};

class Bread : public Product
{
public:
    Bread(double price, std::string name, std::string manufacturer)
    {
        this -> price_        = price;
        this -> name_         = name;
        this -> manufacturer_ = manufacturer;
    }
};

class Milk : public Product
{
public:
    double oiliness_;

    Milk(double price, std::string name, std::string manufacturer, double oiliness)
    {
        this -> price_        = price;
        this -> name_         = name;
        this -> manufacturer_ = manufacturer;
        this -> oiliness_     = oiliness;
    }

    double get_price(User* user) override
    {
        return price_ * 0.9;
    }

    void info() override
    {
        Product::info();
        std::cout << "Жирність: " << oiliness_ << "\n";
    }
};

class Gold : public Product
{
public:
    Gold(double price, std::string name, std::string manufacturer)
    {
        this -> price_        = price;
        this -> name_         = name;
        this -> manufacturer_ = manufacturer;
    }
};

стало

#pragma once

#include <iostream>
#include <string>
#include "User.h"

class Product
{
public:
    double price_;
    std::string name_;
    std::string manufacturer_;

    Product(double price, std::string name, std::string manufacturer)
    {
        this -> price_        = price;
        this -> name_         = name;
        this -> manufacturer_ = manufacturer;
    }

    double virtual get_price(User* user)
    {
        if (user -> spent_ < 1000)
        {
            return price_;
        }
        
        if (user -> spent_ < 5000)
        {
            return price_ * 0.9; 
        }
        
        return price_ * 0.8;
    }

    void virtual info()
    {
        std::cout << "Назва: "    << this -> name_         << "\n"
                  << "Ціна: "     << this -> price_        << "\n"
                  << "Виробник "  << this -> manufacturer_ << "\n";
    }
};

class Bread : public Product
{
public:
    Bread(double price, std::string name, std::string manufacturer):
    Product(price, name, manufacturer) {}
};

class Milk : public Product
{
public:
    double oiliness_;

    Milk(double price, std::string name, std::string manufacturer, double oiliness):
    Product(price, name, manufacturer)
    {
        this -> oiliness_ = oiliness;
    }

    double get_price(User* user) override
    {
        return price_ * 0.9;
    }

    void info() override
    {
        Product::info();
        std::cout << "Жирність: " << oiliness_ << "\n";
    }
};

class Gold : public Product
{
public:
    Gold(double price, std::string name, std::string manufacturer)
    :Product(price, name, manufacturer) {}

    double get_price(User* user) override
    {
        return price_;
    }
};

код
main.cc
#include <iostream>
#include <thread>

#include "User.h"
#include "Product.h"
#include "Informer.h"

int main()
{
    Informer informer;
    User* admin = new User("Київ, вул.Соборна 19", "admin", 10000);
    Product* products[3] = {
        new Bread(16, "хліб круглий", "хз"),
        new Milk(30, "молоко селянське", "Люстдорф", 2.5),
        new Gold(1000, "золото", "НБУ")
    };

    int num = 0;
    int size = sizeof(products)/sizeof(products[0]);

    while (true)
    {
        std::cout << "Вітаю!\nВаш баланс: " << admin -> balance_ << "\n\n";

        for (int i = 0; i < size; i++)
        {
            std::cout << "Номер товару " << i << "\n";
            products[i] -> info();
            std::cout << std::endl;
        }

        std::cout << "Введіть номер тавару та нажміть ентер\n";
        std::cin  >> num;

        if (!(std::cin))
        {
            break;
        }
        
        std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";

        if ((num >= 0) && (num < size))
        {
            informer.buy(admin, products[num]);
        }
        else
        {
            std::cout << "Таких товарів немає!\n";
            break;
        }
        std::this_thread::sleep_for(std::chrono::milliseconds(3000));

        std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
    }
}
User.h
#pragma once
#include <iostream>

class User
{
public:
    std::string adress_;
    std::string name_;
    double balance_;
    double spent_;

    User(const char* adress, const char* name, double balance):
        adress_(adress),
        name_(name),
        balance_(balance),
        spent_(0)
        {}

    void reduce_balance(double price)
    {
        balance_ -= price;
        spent_    += price;
    }
};
Product.h
#pragma once

#include <iostream>
#include <string>
#include "User.h"

class Product
{
public:
    double price_;
    std::string name_;
    std::string manufacturer_;

    Product(double price, std::string name, std::string manufacturer)
    {
        this -> price_        = price;
        this -> name_         = name;
        this -> manufacturer_ = manufacturer;
    }

    double virtual get_price(User* user)
    {
        if (user -> spent_ < 1000)
        {
            return price_;
        }
        
        if (user -> spent_ < 5000)
        {
            return price_ * 0.9; 
        }
        
        return price_ * 0.8;
    }

    void virtual info()
    {
        std::cout << "Назва: "    << this -> name_         << "\n"
                  << "Ціна: "     << this -> price_        << "\n"
                  << "Виробник "  << this -> manufacturer_ << "\n";
    }
};

class Bread : public Product
{
public:
    Bread(double price, std::string name, std::string manufacturer):
    Product(price, name, manufacturer) {}
};

class Milk : public Product
{
public:
    double oiliness_;

    Milk(double price, std::string name, std::string manufacturer, double oiliness):
    Product(price, name, manufacturer)
    {
        this -> oiliness_ = oiliness;
    }

    double get_price(User* user) override
    {
        return price_ * 0.9;
    }

    void info() override
    {
        Product::info();
        std::cout << "Жирність: " << oiliness_ << "\n";
    }
};

class Gold : public Product
{
public:
    Gold(double price, std::string name, std::string manufacturer)
    :Product(price, name, manufacturer) {}

    double get_price(User* user) override
    {
        return price_;
    }
};
Informer.h
#pragma once
#include "User.h"
#include "Product.h"

class Informer
{
public:
    void buy(User* user, Product* product)
    {
        double price = product -> get_price(user);
        user -> reduce_balance(price);
        std::cout << user -> name_ << " купив "<< product -> name_ << " за " << price << std::endl;
        std::cout << "Ваше замвлення відправлено на склад!\nОчікуйте товар.";
        /*
         *  якийсь код...
         *  який відбправляє запрос кудись :D
         */
    }
};

486

(573 відповідей, залишених у Розваги та гумор)

https://replace.org.ua/uploads/images/11470/cfdfa6f8ee330cbdc4d7fb3d1b73eaca.png

487

(434 відповідей, залишених у Розваги та гумор)

відео українською!
на назву незвертайте увагу
https://www.youtube.com/watch?v=yUsGpfKYWag

488

(14 521 відповідей, залишених у Інше)

frz написав:

З Днем незалежності, Україно.

угу, взаємно =(

489

(14 521 відповідей, залишених у Інше)

frz написав:
FakiNyan написав:
frz написав:

50-метровий флагшток з блискавкозахистом за 12 млн. грн. - мені одному здається таке вкладення коштів дещо дивним?...

ні

Ще раз повторюся: 12 млн. грн.
Все одно ні?

Upd: Питання не в тому, чи потрібен нам флагшток, також чи потрібен там блискавкозахист. Лише вартість за, грубо кажучи, вертикально встановлену палицю... Скільки там реально пішло на матеріал і виконану роботу, а скільки розчинилося в повітрі?...

якщо надійний то так, але 50 метрів це занадто, та й думаю не 12 а 6 млн достатньо...

490

(14 521 відповідей, залишених у Інше)

frz написав:

50-метровий флагшток з блискавкозахистом за 12 млн. грн. - мені одному здається таке вкладення коштів дещо дивним?...

памятаю таку картинку:
стоїть будівля 150м, та 25м
блискавка вдарила в 25м :D

491

(14 521 відповідей, залишених у Інше)

lol
I`m open this site in brouser "links"(browser in linux terminal) :D
its fun
you need to try this :D

Прихований текст

my english it`s very hard :D

492

(14 521 відповідей, залишених у Інше)

tchort написав:

Заждіть, IBM вже якийсь час дозволяє писати і запускати програми на їх квантовому залізі, і це за дарма? (Чи це тільки для науковців?)
https://quantum-computing.ibm.com/
https://quantum-computing.ibm.com/lab/docs/iql/
https://quantum-computing.ibm.com/servi … es=systems


https://replace.org.ua/uploads/images/10563/2ca956a38f0726a4eb94486b3fea0b80.jpg

спробуйте якщо умієте писати програми під КПК

0) джаву бачив коли в майнкрафт грав :D (а те що паблік в 1 стрічку це напевно від того що С++ по відео урокам C# вчив :D)
1) незнав, дякую, виправлю і запамятаю
2) зрозуміло, тобто про char можна забути :D? (це мені ще клас Bank створювати?)

доповнення до 2

пямятаю мені хтось сказав що в ооп щоб створити банан потрібно ще створити мавпу і пальму на якій банан росте

5) а можна класи називати ось так UserBuying а перемінні та функції так get_name ?
6) protected: std::string _name; private: std::string __name; згодиться? (так в пайтоні функції протектед та пріват позначаються)
7) зрозумів, буду використовувати std::cout; у вікіпедії щось читав таке що код з С максимально намагались "впихнути" в С++, щоб полегшити перехід з С на С++

з іншим пізніше розберусь :D

koala написав:

Коли допишете код, викладете його сюди на рев'ю, добре? Я маю тут кілька суттєвих зауважень, але очевидно, що ви ще активно його змінюєте, можливо, коли доредагуєте, вони вже не матимуть сенсу.

ось =(
вибирайте як вам зручніше

все в 1 кучу скидав
#include <iostream>

class User {
    //money
    public: void money_update(float money) {
        this -> money = money;
    }
    
    public: float get_money() { 
        return this -> money;
    }

    //name
    public: void name_update(const char* name) {
        this -> name = name;
    }

    public: const char* get_name() {
        return this -> name;
    }

    //variable
    private: const char* name = "user";
    private: float money = 1000;
};


class User_buying {
    public: static User buying(User user, float price) {
        if (price < user.get_money()) {
            user.money_update(user.get_money() - price);
            printf("Покупка виконана!\n");
        }
        else {
            printf("Недостатньо коштів\n");
        }
        
        return user;
    }
};


class User_change_name {
    public: static User change_name(User user, const char* name) {
        if (name != ""){
            user.name_update(name);
            printf("і'мя змінено\n");
        }
        else {
            printf("Невдача\n");
        }

        return user;
    }
};


int main() {
    User admin;

    admin = User_buying::buying(admin, 300);
    admin = User_buying::buying(admin, 900);

    admin = User_change_name::change_name(admin, "admin");
    admin = User_change_name::change_name(admin, "");

    printf("%s\n%f\n\n", admin.get_name(), admin.get_money());
}
розділено по блокам (кожен блок під своїм спойлером)
main.cc
#include "User.h"
#include "User_buying.h"
#include "User_change_name.h"

int main() {
    User admin;

    admin = User_buying::buying(admin, 300);
    admin = User_buying::buying(admin, 900);

    admin = User_change_name::change_name(admin, "admin");
    admin = User_change_name::change_name(admin, "");

    printf("%s\n%f\n\n", admin.get_name(), admin.get_money());
}
User.h
class User {
    //money
    public: void money_update(float money) {
        this -> money = money;
    }
    
    public: float get_money() { 
        return this -> money;
    }

    //name
    public: void name_update(const char* name) {
        this -> name = name;
    }

    public: const char* get_name() {
        return this -> name;
    }

    //variable
    private: const char* name = "user";
    private: float money = 1000;
};
User_buying.h
#include <iostream>

class User_buying {
    public: static User buying(User user, float price) {
        if (price < user.get_money()) {
            user.money_update(user.get_money() - price);
            printf("Покупка виконана!\n");
        }
        else {
            printf("Недостатньо коштів\n");
        }
        
        return user;
    }
};
User_change_name.h
#include <iostream>

class User_change_name {
    public: static User change_name(User user, const char* name) {
        if (name != "") {
            user.name_update(name);
            printf("і'мя змінено\n");
        }
        else {
            printf("Невдача\n");
        }

        return user;
    }
};
koala написав:
mamkin haker написав:

там оголошуєтся перемінна пред int main(){}

Так не проголошуйте ту змінну, в чому проблема?
Ну і вам чітко написали: вам потрібна статична функція. Тобто проголошена зі словом static. Де у вас у коді слово static?

дякую, уже помітив, я прост сліпий, бачення -1448 (жарт)

ехх обійдусь без перевірки імені :D

#include <iostream>

class User_change_name {
    public: static User change_name(User user, const char* name) {
        if (check_name(name)){
            user.name_update(name);
            printf("і'мя змінено\n");
        }
        else {
            printf("Невдача\n");
        }

        return user;
    }

    private: static bool check_name(const char* name) {
        for (int i = 0; i < len_banned_names; i++){
            if (banned_names[i] == name) {
                return false;
            }
        }

        return true;
    }

    private: static const char* banned_names[1] = {""}; //нізя
    private: static int len_banned_names = sizeof(banned_names)/sizeof(banned_names[0]); //нізя
};

я це вже знаходив
tchort дякую, непомітив що там є static :D
проморгав це слово XD
я дурак

#include <iostream>
class User{
    public: static void foo();
};

void User::foo(){
    printf("Обєкт не створений а функція визвана\n");
}

int main(){
    User::foo();
}

497

(15 відповідей, залишених у Обговорення)

ataras736 написав:

А я за сьодні 200GB скачав а за вчора 30GB, за місяць десяток ТБ буде  (по плану).

+слабо вірится що комусь в голову прийде щось качати більше 100 гб (якщо це не гра)

Доброго дня ^^
перепрошую за дуже тупе запитання але чи можна якось визвати публічну функцію з класу і щоб при цьому не створювати обєкт цього класу

//C++
#include "User.h"
#include "User_buying.h"
#include "User_change_name.h"

int main() {
    User admin;
    User_buying user_buying; // ось тут не створювати
    User_change_name user_change_name; //та тут

    admin = user_buying.buying(admin, 300);
    admin = user_buying.buying(admin, 900);

    admin = user_change_name.change_name(admin, "admin");
    admin = user_change_name.change_name(admin, "");

    printf("%s\n%f\n\n", admin.get_name(), admin.get_money());
}

наприклад як на пайтон

#Python

class Class():
    x = 1

print(Class.x) //1
повний код, якщо необхідно

main.cc

#include "User.h"
#include "User_buying.h"
#include "User_change_name.h"

int main() {
    User admin;
    User_buying user_buying;
    User_change_name user_change_name;

    admin = user_buying.buying(admin, 300);
    admin = user_buying.buying(admin, 900);

    admin = user_change_name.change_name(admin, "admin");
    admin = user_change_name.change_name(admin, "");

    printf("%s\n%f\n\n", admin.get_name(), admin.get_money());
}

User.h

class User {
    //money
    public: void money_update(float money) {
        this -> money = money;
    }
    
    public: float get_money() { 
        return this -> money;
    }

    //name
    public: void name_update(const char* name) {
        this -> name = name;
    }

    public: const char* get_name() {
        return this -> name;
    }

    //variable
    private: const char* name = "user";
    private: float money = 1000;
};

User_change_name.h

#include <iostream>

class User_change_name {
    public: User change_name(User user, const char* name) {
        if (check_name(name)){
            user.name_update(name);
            printf("і'мя змінено\n");
        }
        else {
            printf("Невдача\n");
        }

        return user;
    }

    private: bool check_name(const char* name) {
        for (int i = 0; i < len_banned_names; i++){
            if (banned_names[i] == name) {
                return false;
            }
        }

        return true;
    }

    private: const char* banned_names[1] = {""};
    private: int len_banned_names = sizeof(banned_names)/sizeof(banned_names[0]);
};

User_buying.h

#include <iostream>

class User_buying {
    public: User buying(User user, float price) {
        if (price < user.get_money()) {
            user.money_update(user.get_money() - price);
            printf("Покупка виконана!");
        }
        else {
            printf("Недостатньо коштів\n");
        }
        
        return user;
    }
};

499

(15 відповідей, залишених у Обговорення)

Chemist-i написав:
раньшє било лучшє...

Цікаву штуку розкажу з психології, під спойлером бо не дуже теми стосується, так от:

Колись (в юності) я був користувався лімітним 3Жи інтернетом, ліміт був 3 ГБ на місяць, і страшні санкції якщо перевищити. Я строго контролював витрату трафіка. Само собов витратні речі, на кшталт перегляду відео, були розплановані на дні вперед, зазчивай на кінець місяця. Це було впродовж доста довгого часу, що виробило певні звички.

В ті роки, на відміну від зараз, я багато читав (і взагалі, трава була зеленіша, люде добріші і т.д. по списку старопердуна).

Найцікавіше відбулося при під'єднанні безлімітного 100Мегабітного дротового інтернета. :) В перші дні, дивлячись на витрату трафіка в програмі мене все ще параноїло, що я то його перевищу і його нахрін відрублять. І мені хотілось тоді викачати купу всього і зберігти у себе на компі, хоч місця в ньому і було дофіга, але ж ми всі знаємо, що засмітити можна будь яку кількість вільних терабайт (петабайт?). Але доста швидко та паранойа пройшла, і більше мене не відвідувала. З тих пір я підсів на титрубчик, став менше читати, а зараз взагалі читаю лиш по роботі...

а я навпаки раніше тратив інтернет ~2-4 гб в день а зараз контролюю, максимум 512 Мб на вхід, на вихід ліміта немає :D
сьогодні і зовсім в інтернеті майже не сидів, потратив лише 34МБ на вхід і на вихід нібито 2.4МБ, може ще посиджу трішки...
в основному інтернет тратится на месенджери, вікіпедію та replace.org.ua

https://replace.org.ua/uploads/images/11470/3390de522cddbf0f76b6096720cbdd29.png

500

(2 581 відповідей, залишених у Інше)

вірш ШІ ші ші ші ші

Піньїнь:

    «Shī Shì shí shī shǐ»

Shíshì shīshì Shī Shì, shì shī, shì shí shí shī.
Shì shíshí shì shì shì shī.
Shí shí, shì shí shī shì shì.
Shì shí, shì Shī Shì shì shì.
Shì shì shì shí shī, shì shǐ shì, shǐ shì shí shī shìshì.
Shì shí shì shí shī shī, shì shíshì.
Shíshì shī, Shì shǐ shì shì shíshì.
Shíshì shì, Shì shǐ shì shí shì shí shī.
Shí shí, shǐ shí shì shí shī, shí shí shí shī shī.
Shì shì shì shì.

Запис китайськими ієрогліфами:

    《施氏食獅史》

石室詩士施氏, 嗜獅, 誓食十獅。
氏時時適市視獅。
十時, 適十獅適市。
是時, 適施氏適市。
氏視是十獅, 恃矢勢, 使是十獅逝世。
氏拾是十獅屍, 適石室。
石室濕, 氏使侍拭石室。
石室拭, 氏始試食是十獅。
食時, 始識是十獅, 實十石獅屍。
試釋是事。

Приблизний переклад українською мовою:

    Жив у кам'яній печері поет Ші Ші, який любив їсти левів і вирішив з'їсти десять за один раз.
    Він часто ходив на ринок, де дивився — чи не завезли на продаж левів?
    Одного разу о десятій ранку, десятеро левів привезли на ринок.
    В той же час на ринок приїхав Ші Ші.
    Побачивши тих десятеро левів, він убив їх стрілами.
    Він приніс трупи десятьох левів в кам'яну печеру.
    У кам'яній печері було вогко. Він наказав слугам прибрати в ній.
    Після того, як кам'яна печера була прибрана, він взявся за їжу.
    І, коли він почав їсти, виявилось, що ці десять левів насправді були десятьма кам'яними левами.
    Спробуй це поясни!