Start on: 07 mar 2020

End on:

Зачем учить С++?

На нем разрабатывают поиск, браузеры, backend социальных сетей и других сервисов компании по всему миру. На С++ написаны популярные библиотеки машинного обучения, он занимает важное место в области разработки компьютерных игр; в Яндексе C++ можно встретить в поиске, рекламе, браузере, картах и многих, многих других продуктах.

Операции с контейнерами, count, sort

string word = "babax";
sort(begin(word), end(word));
cout << word << " " << count(begin(word), end(word), 'a');

Вывод: aabbx 2

И векторы и строки и мапы можно сравнивать через ==.

Задание по программированию: Минимальная строка

В стандартном потоке даны три строки, разделённые пробелом. Каждая строка состоит из строчных латинских букв и имеет длину не более 30 символов. Выведите в стандартный вывод лексикографически минимальную из них.

#include <string>
#include <algorithm>
#include <array>
#include <iostream>

int main()
{
    std::array<std::string, 3> mas;
    for (auto& str : mas) {
        std::cin >> str;
    }
    std::cout << *std::min_element(mas.begin(), mas.end()) << std::endl;

    return 0;
}

Задание по программированию: Второе вхождение

Дана строка. Найдите в этой строке второе вхождение буквы f и выведите индекс этого вхождения. Если буква f в данной строке встречается только один раз, выведите число -1, а если не встречается ни разу, выведите число -2. Индексы нумеруются с нуля.

#include <string>
#include <iostream>

using namespace std;

int main()
{
    string str;
    cin >> str;
    
    std::size_t found_first = str.find("f");
    std::size_t found_second = str.find("f", found_first + 1);
    
    if (found_second != std::string::npos) {
        cout << found_second << endl;
    } else if (found_first != std::string::npos) {
        cout << -1 << endl;
    } else {
        cout << -2 << endl;
    }

    return 0;
}