Задания к каждому коду по порядку:
1) Дана строка. Слово есть любая последовательность букв, разделенных пробелом. Удалить из строки слова, начинающиеся на согласные буквы.
"Все не так уж важно"
на выходе "уж"
2) Реализовать функцию, формирующую выходной массив В из K максимальных чисел входного массива А. В=3 ; К= 10; А= 3,2,1,4,8, 11,1,0,4,2 ;
ответ выглядит так:
3
11,8,4
3) на картинке
#include <sstream>
#include <vector>
#include <cctype>
using namespace std;
// Функция для проверки, является ли буква гласной
bool isVowel(char ch) {
ch = tolower(ch);
return ch == 'а' ch == 'е' ch == 'ё' ch == 'и' ch == 'о'
ch == 'у' ch == 'ы' ch == 'э' ch == 'ю' || ch == 'я';
}
// Функция для удаления слов, начинающихся на согласную букву
string removeConsonantStartingWords(const string& text) {
istringstream iss(text);
string word;
string result;
while (iss >> word) {
if (isVowel(word[0])) {
result += word + " ";
}
}
return result;
}
int main() {
setlocale(LC_ALL, "Russian");
string text = "Все не так уж важно";
string modifiedText = removeConsonantStartingWords(text);
cout << "Исходная строка: " << text << endl;
cout << "Измененная строка: " << modifiedText << endl;
return 0;
}
~~~~~~~~~~~~~
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// Функция для получения K максимальных элементов массива A
vector<int> getMaxElements(const vector<int>& A, int K) {
vector<int> B(A); // Создаем копию массива A
sort(B.begin(), B.end(), greater<int>()); // Сортируем массив B в убывающем порядке
B.resize(K); // Оставляем только первые K элементов
return B;
}
int main() {
vector<int> A = { 3, 2, 1, 4, 8, 11, 1, 0, 4, 2 }; // Входной массив
int K = 3; // Количество максимальных элементов для поиска
vector<int> B = getMaxElements(A, K); // Получаем K максимальных элементов
// Выводим результат
cout << B.size() << endl;
for (int i = 0; i < B.size(); ++i) {
cout << B[i];
if (i < B.size() - 1) {
cout << ",";
}
}
cout << endl;
return 0;
~~~~~~~~~~~~~~~
#include <iostream>
#include <vector>
#include <bitset>
unsigned long zeroBits(unsigned long number, const std::vector<int>& A) {
for (int bitPosition : A) {
number &= ~(1UL << bitPosition);
}
return number;
}
int main() {
unsigned long number = 255;
std::vector<int> A = {3, 6, 0};
std::cout << "Original number: " << number << std::endl;
std::cout << "Binary representation: " << std::bitset<32>(number) << std::endl;
unsigned long result = zeroBits(number, A);
std::cout << "Number after zeroing bits: " << result << std::endl;
std::cout << "Binary representation: " << std::bitset<32>(result) << std::endl;
return 0;
}