#include #include #include #include #include #include #include #include #include using namespace std; // Функция перевода из двоичной строки в десятичное число int binaryToDecimal(const string& binary) { int decimal = 0; for (char c : binary) { decimal = decimal * 2 + (c - '0'); } return decimal; } // Функция перевода из десятичного числа в пятеричную систему string decimalToBase5(int decimal) { if (decimal == 0) return "0"; string base5 = ""; while (decimal > 0) { base5 += (decimal % 5) + '0'; decimal /= 5; } reverse(base5.begin(), base5.end()); return base5; } int gcdDivision(int a, int b) { while (b != 0) { int remainder = a % b; a = b; b = remainder; } return a; } int gcdSubtraction(int a, int b) { while (a != b) { if (a > b) a -= b; else b -= a; } return a; } int z1(int a, int b, int method) { switch (method) { case 1: return gcdDivision(a, b); case 2: return gcdSubtraction(a, b); default: cout << "Некорректный выбор метода. Выберите 1 или 2." << endl; return -1; } } void findLeastFrequentVowel(const string& filePath) { ifstream file(filePath); if (!file) { cerr << "Не удалось открыть файл." << endl; return; } int counts[6] = { 0 }; // Счётчики для гласных: a, e, i, o, u, y char vowels[] = { 'a', 'e', 'i', 'o', 'u', 'y' }; char ch; while (file >> noskipws >> ch) { ch = tolower(ch); for (int i = 0; i < 6; ++i) { if (ch == vowels[i]) { ++counts[i]; break; } } } file.close(); int minCount = numeric_limits::max(); char leastVowel; for (int i = 0; i < 6; ++i) { if (counts[i] > 0 && counts[i] < minCount) { minCount = counts[i]; leastVowel = vowels[i]; } } if (leastVowel) { cout << "Наименее часто встречающаяся гласная: " << leastVowel << " (" << minCount << " раз)" << endl; } else { cout << "В файле нет гласных букв." << endl; } } void z3_22() { string filePath; filePath = "txt.txt"; findLeastFrequentVowel(filePath); } void z1launcher() { int a, b, method; cout << "Введите два положительных целых числа: "; if (!(cin >> a >> b) || a <= 0 || b <= 0) { cout << "Ошибка: ввод должен быть положительными целыми числами." << endl; return; } cout << "Выберите метод:\n1 - Деление\n2 - Вычитание\nВаш выбор: "; if (!(cin >> method) || (method != 1 && method != 2)) { cout << "Ошибка: некорректный выбор метода. Введите 1 или 2." << endl; return; } int result = z1(a, b, method); if (result != -1) { cout << "НОД = " << result << endl; } } void findWordCombination(const string& fileName, const string& combination) { ifstream file(fileName); if (!file.is_open()) { cerr << "Не удалось открыть файл: " << fileName << endl; return; } string line; size_t lineNumber = 0; bool found = false; while (getline(file, line)) { ++lineNumber; // Проверяем, содержит ли строка указанное сочетание слов if (line.find(combination) != string::npos) { found = true; cout << "Найдено в строке " << lineNumber << ": " << line << endl; } } if (!found) { cout << "Сочетание \"" << combination << "\" не найдено в файле." << endl; } file.close(); } void z3_16() { string fileName, combination; fileName = "txt2.txt"; cout << "Введите сочетание слов для поиска: "; cin >> combination; findWordCombination(fileName, combination); } void z4_22() { // Входной массив F[1:n] в двоичной системе vector binaryArray = { "101", "110", "1111", "10010" }; // Массив для хранения чисел в пятеричной системе vector base5Array; // Преобразуем числа for (const string& binary : binaryArray) { int decimal = binaryToDecimal(binary); // Перевод в десятичное string base5 = decimalToBase5(decimal); // Перевод в пятеричное base5Array.push_back(base5); } // Вывод результата cout << "Числа в пятеричной системе: "; for (const string& num : base5Array) { cout << num << " "; } cout << endl; } void z4_16() { double epsilon; // Входное значение ε cout << "Введите значение epsilon: "; cin >> epsilon; double y = 0; // Итоговая сумма int n = 1; // Начальный индекс const double limit = epsilon; // Условие для множителя while (true) { double term = pow(1.0 / 3, n) * pow(cos(pow(3, n - 1)), 3); if (pow(1.0 / 3, n) < limit) { break; // Условие выхода из цикла } y += term; n++; } cout << "Результат вычислений: y = " << y << endl; } int main() { setlocale(LC_ALL, ""); /*z1launcher();*/ z4_16(); return 0; }