Убираем повторения слов на C++
Новая небольшая задачка по C++. Необходимо разработать программу, которая читает файл, убирает повторяющиеся слова и снова его записывает.
Решение
Будет консольное приложение. Подключаем что потребуется
#include "stdafx.h" #include <iostream> #include <fstream> #include <string> #include <algorithm> #include <vector> using namespace System;Читаем файл в строку
std::string str;
std::ifstream fin("D:\\temp\\F1.txt");
if (!fin)
{
std::cout << "Error!" << std::endl;
td::cin.get();
return 0;
}
getline(fin, str);
Cортируем
char s[2000]; strcpy(s, str.c_str()); for (int i = 0; i < strlen(s) - 1; i++) for (int j = strlen(s) - 1; j >i; j--) if (s[j] < s[j - 1]) std::swap(s[j], s[j - 1]); str = std::string(s);Убираем повторяющиеся
int i = 0;
while (str[i + 1] != '\0') // пока не конец строки
{
if (str[i] == str[i + 1]) // если текущий похож на следующий
for (int x = 0; (x<256 && str[x] != '\0'); x++)
str[i + x + 1] = str[i + x + 2]; // удаляем следующий
else i++; // если не похож переходим на него
}
Записываем файл
std::ofstream out;
out.open("D:\\temp\\F2.txt");
if (out.is_open())
{
out << str << std::endl;
}
system("pause");
return 0;
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Программы на заказ
Отзывы
Контакты