/
GlebM
/
labprog3sem
Обзор
Документация
Войти
/
GlebM
/
labprog3sem
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ConsoleApplication1.cpp
165 строк
4 KB
GlebM
LAB7
19 дек 2024, 22:21
19 дек 2024, 22:21
9430c1b
Код
Авторство
О чём код?
#include <iostream> #include <vector> #include <algorithm> #include <fstream> #include<unordered_set> #include<string> #include<Windows.h> int main() { setlocale(LC_ALL, "RUS"); std::vector<int> v = { 8, 4, 5, 9 ,2,-5,-6,12 }; v.push_back(6); v.push_back(9); v[2] = -1; std::cout << "\n1\n\n"; std::for_each(v.begin(), v.end(), [=](auto& v) { std::cout << v << ' '; }); std::cout << '\n'; std::for_each(v.begin(), v.end(), [=](auto& v) { v *= 2; std::cout << v << ' '; }); std::cout << '\n'; std::cout << "\n2\n\n"; int count = 0; std::for_each(v.begin(), v.end(), [=](auto& v) { v *= 2; std::cout << v << ' '; }); std::cout << '\n'; std::for_each(v.begin(), v.end(), [&](auto& v) { if (v > 0) count = count + 1; }); std::cout << count; std::cout << '\n'; std::cout << "\n3\n\n"; auto a = std::vector<int>{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17,18,19,20 }; auto b = std::vector<int>{ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 }; std::copy(b.begin() + 2, b.begin() + 4, a.begin() + 1); std::copy(b.begin() + 1, b.begin() + 3, a.begin() + 4); std::copy(b.begin() + 5, b.begin() + 10, a.begin() + 13); for (auto e : a) { std::cout << e << ", "; } std::cout << '\n'; std::cout << "\n4\n\n"; auto a1 = std::vector<int>{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; auto b1 = std::vector<int>{ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 }; auto c = std::vector<int>{ 0,0,0,0,0,0,0,0,0 }; std::copy(a1.begin(), a1.begin() + 4, c.rbegin() + 5); std::copy(b1.begin() + 5, b1.begin() + 9, c.rbegin()); for (auto e : c) { std::cout << e << ", "; } std::cout << '\n'; std::cout << "\n5\n\n"; if (a1.end() != std::find(a1.begin(), a1.end(), 10)) { std::cout << "10yes"; } else std::cout << "10no"; std::cout << '\n'; if (a1.end() != std::find(a1.begin(), a1.end(), 333)) { std::cout << "333yes"; } else std::cout << "333no"; std::cout << '\n'; if (a1.end() != std::find(a1.begin(), a1.end(), 44)) { std::cout << "44yes"; } else std::cout << "44no"; std::cout << '\n'; std::cout << "\n6\n"; std::vector<int> d = { 0,1,2,3,4,5,6,7,8,9 }; d[6] = 41; d[8] = 59; d[1] = 17; std::for_each(d.begin(), d.end(), [](int n) {printf("%d ", n); }); auto iter = std::remove_if(d.begin(),d.end(), [](int n) {return ((10 < n) && (n < 100) && (n % 2 != 0)); }); d.erase(iter, d.end()); std::cout << "\n"; std::for_each(d.begin(),d.end(), [](int n) {printf("%d ", n); }); std::cout << std::endl; std::vector<std::string> file(700000); std::ifstream in; in.open("C:/Users/USER/Desktop/7lab/war_and_peace.txt"); int i = 0; while (std::getline(in, file[i])) { std::transform(file[i].begin(), file[i].end(), file[i].begin(), tolower); //std::cout << file[i] << std::endl; i++; } std::unordered_set<std::string> set; std::string h; int j, t, k = 0; for (j = 0; j < i; j++) { if (file[j].empty()) continue; for (t = 0; t < file[j].size(); t++) { for (t; t < file[j].size(); t++) { if ((file[j][t] == ' ') || (file[j][t] == ',') || (file[j][t] == '.') || (file[j][t] == '»') || (file[j][t] == '…') || (file[j][t] == '?') || (file[j][t] == '!') || (file[j][t] == ':') || (file[j][t] == ';') || (file[j][t] == '«') || (file[j][t] == '„') || (file[j][t] == '“') || (file[j][t] == '[') || (file[j][t] == ']') || (file[j][t] == '(') || (file[j][t] == ')')) break; h.push_back(file[j][t]); } set.insert(h); h.clear(); } } std::cout << "\n7 задание:\nСейчас будут уникальные слова:\n"; for (auto u : set) { std::cout << u << std::endl; } }