
1. Найти в файлі f всі слова, які зліва направо і навпаки читаються однаково і скласти із них новий
файл q. с++

Ответы на вопрос

Ответ:
Here is a sample code in C++ that does the job of finding all the words in a file "f" that are palindromes and creating a new file "q" consisting of those words:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
bool is_palindrome(string word) {
int n = word.length();
for (int i = 0; i < n / 2; i++)
if (word[i] != word[n - i - 1])
return false;
return true;
}
int main() {
ifstream fin("f.txt");
ofstream fout("q.txt");
string word;
while (fin >> word) {
if (is_palindrome(word))
fout << word << endl;
}
fin.close();
fout.close();
return 0;
}
This code uses the ifstream class to read the input file f.txt and the ofstream class to create the output file q.txt. The is_palindrome function is used to determine whether a given word is a palindrome or not. The code reads the file word by word using the fin >> word line and for each word, it checks if it's a palindrome using the is_palindrome function. If a word is found to be a palindrome, it is written to the q.txt file. Finally, both the input and output files are closed.



Ось приклад реалізації завдання на C++:
cpp#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
bool isPalindrome(const std::string& word) {
std::string reversed = word;
std::reverse(reversed.begin(), reversed.end());
return word == reversed;
}
int main() {
std::ifstream inputFile("f.txt");
std::ofstream outputFile("q.txt");
if (!inputFile) {
std::cout << "Помилка відкриття файлу f.txt" << std::endl;
return 1;
}
if (!outputFile) {
std::cout << "Помилка створення файлу q.txt" << std::endl;
return 1;
}
std::string word;
while (inputFile >> word) {
if (isPalindrome(word)) {
outputFile << word << std::endl;
}
}
inputFile.close();
outputFile.close();
std::cout << "Завдання виконано. Результат збережено у файлі q.txt" << std::endl;
return 0;
}
У цьому прикладі ми використовуємо два файли: "f.txt" для вхідних даних і "q.txt" для результатів. Вам потрібно замінити їх на відповідні імена файлів у вашій системі.
Код використовує функцію isPalindrome
, яка перевіряє, чи є слово паліндромом, тобто чи воно читається однаково зліва направо і навпаки. Ця функція порівнює слово з його реверсом.
У головній функції ми відкриваємо файли для читання та запису, перевіряємо, чи вдалося відкрити файли. Далі зчитуємо слова з файлу "f.txt" і перевіряємо, чи є вони паліндромами. Якщо слово є паліндромом, ми записуємо його у файл "q.txt". На кінці виконання програми файли закриваються, і на екран виводиться повідомлення про завершення завдання.
Важливо зазначити, що цей код припускає, що слова розділені пробілами в файлі "f.txt". Якщо ваш файл має інший формат або роздільники, вам потрібно буде адаптувати код для вашого конкретного випадку.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili