Убираем повторения слов на 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, си плюс плюс




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Разбор ошибок валидации сайта
Программа для тестов: подключаем Firebird
Урок 31. Функции JavaScript: параметры по умолчанию