Вопрос задан 08.06.2023 в 05:55. Предмет Информатика. Спрашивает Барзенкова Ксения.

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

файл q. с++
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Чижов Вадим.

Ответ:

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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ось приклад реалізації завдання на 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". Якщо ваш файл має інший формат або роздільники, вам потрібно буде адаптувати код для вашого конкретного випадку.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос