Форум программистов, компьютерный форум CyberForum.ru

Поиск и оптимизация в тексте. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как с помощью <vector> сделать двумерный массив? http://www.cyberforum.ru/cpp-beginners/thread112719.html
как с помощью <vector> сделать двумерный массив?
C++ Н-ленточное слияние с метод сортировки Осуществить программную реализацию сортировки информации заданного вида сбаланси-рованным N-ленточным слиянием (в оперативной памяти), используя выбранные, в соответ-ствии с вариантом, из табл. 1 алгоритм внутренней сортировки и формат исходных данных. Ключ int Запись 0 – только ключ, 1 – ключ и другие дан-ные различных типов 1, char, float Метод внутренней... http://www.cyberforum.ru/cpp-beginners/thread112714.html
Сортировка многомерного массива по 4-ому столбцу C++
Помогите пожалуйста написать прогу в Microsoft Visual C++: Создать массив 12х4. Записать этот массив в файл. Произвести сортировку i-ого столбца (i равен номеру вашего варианта) по возрастанию. Вывести полученный массив в другой файл. Показать оба массива на экране и отдельно отсортированный столбец.
Поменять строчные буквы на заглавные C++
пользователь вводит строку поменять строчные буквы на заглавные, а заглавные на строчные вывести старую и преобразованную строки где-то ошибка помогите пожалуйста найти ? #include <iostream> #include <ctype.h> using namespace std; int main (int argc, char const* argv) {
C++ "Путешествие коня" http://www.cyberforum.ru/cpp-beginners/thread112670.html
Доброго времени суток, у меня возникла проблема при решении задачи. Суть такова: задача аналогична головоломке Эйлера (где из произвольной позиции конь должен обойти всё шахматное поле, побывав лишь раз на каждой клетке), а отличие в том, что программа должна находить максимально возможный путь из данной позиции, не пересекая уже пройдённый ранее. Помогите пожалуйста усвоить задачу. Я почитал...
C++ Создать функцию, которой строка передаётся как параметр, и которая возвращает количество слов создать функцию в которой строка передаётся как параметр и возвращает колличество слов в этой строке подробнее

Показать сообщение отдельно
Blackberry91
Сообщений: n/a
04.04.2010, 21:40     Поиск и оптимизация в тексте.
Очень нужна ваша помощь.

Суть задания такова. Имеется текстовый файл, мы должны считать с него слова в вектор, и сделать множество заданий. Я практически все сдалала, осталось только реализовать поиск и метод оптимизации.

Я считывю текст из файла,разбиваю его на отдельные слова, и сортирую в алфовитном порядке.

Исходный файл:

Информация, Информационный! Инфантильный. Инфракрасный? Инфраструктура Информатика. Аркан Ящер.


Сортируем слова:

аркан
инфантильный
информатика
информационный
информация
инфракрасный
инфраструктура
ящер

Теперь мне надо примерно следующее:
1)Поиск

Поиск: фо
Результат:

информатика
информационный
информация

2)Оптимизация:

аркан
инфантильный
информатика
инфракрасный
ящер

Т.е. убираем слова, у которых первые 5 букв одинаковые, оставляя только первое.
Или может, например, проверять 75% слова, хотя наверное такое невозможно.

Большая проблема в том, что надо еще чтоб все по русски делалось, хотя строка system("chcp 1251 > nul"); и изменение в свойствах в консоли должно все исправить.

Вот обрубленый код, который считывает из файла, сортирует и сохраняет в другой файл.
Помогите его дополнить, плз , а то я уже запарилась.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <sstream>
#include <windows.h> //для кирилицы
using namespace std;
int main()
{
        setlocale(LC_ALL, "Russian");
        system("chcp 1251 > nul"); // для кирилицы
        vector<string> v;
        size_t index;
        string s, temp,file("1.txt"), punctuation("\',.:\"!?-");
        ifstream ifs(file.c_str());
        if(ifs==NULL)
        {
                cout << file << ": нет такого файла" << endl;
                return 1;
        }
        cout << "Исходный файл:\n" << endl;
        while(getline(ifs, temp))
        {
                cout << temp << endl;
                s+=temp + " ";
        }
        while((index=s.find_first_of(punctuation))!=string::npos)
                s.erase(index, 1);
        for(string::iterator it=s.begin(); it!=s.end(); ++it)
                *it=tolower(*it);
        stringstream sstream(s);
        while(sstream >> temp)
                if(find(v.begin(), v.end(), temp)==v.end())
                        v.push_back(temp);
        sort(v.begin(), v.end());
        cout << "\n\nСортируем слова:\n" <<endl;
        copy(v.begin(), v.end(), ostream_iterator<std::string>(cout, "\n"));
        string outfile("2.txt");
        ofstream ofs(outfile.c_str());
        copy(v.begin(), v.end(), ostream_iterator<string>(ofs, "\n"));
        return 0;    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru