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

Проверка орфографии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выбор кода для компиляции на основании сравнения параметров шаблона http://www.cyberforum.ru/cpp-beginners/thread339331.html
Здравствуйте. Помогите, пожалуйста, разобраться со следующим вопросом. Необходимо выбирать компилируемый код в зависимости от какого-либо условия. Для примера рассмотрим следующую функцию: template <int p> int MyFunc() { #if (p < 0) return -1; #elif (p > 0) return 1; #else
C++ int/double переводим в строку (string) Добрый день. помогите пожалуйста перевести число int и double в строку string (ну или char*) преобразование из строки в число (функциями atoi и atof) прочитал в http://www.cyberforum.ru/cpp-beginners/thread338915.html а вот обратное действие не могу придумать я щаз нашел способ тока так: std::string timeS = ""; char temp ; http://www.cyberforum.ru/cpp-beginners/thread339291.html
C++ Что означает сточка ::CoInitialize(NULL); ?
Привет, совсем небольшой вопрос, буду признателен за ответ: (я начинающий в C++, и пытаюсь разобраться в языке на основе рабочих примеров кода. Этот кусок взят из кода, создающего экселевский файл) Вопрос: Что означает сточка ::CoInitialize(NULL); ? //часть кода: int main()
Братцы! Либа NTP-сервера. C++
Здравствуйте! Проблема в следующем. Скачал c оф сайта ntp-4.2.6p3, написано на "с" собрал в VS 2008. Получил следующие файлы: ntpd.lib, ntpd.exe, ntpd.idb, ntpd.exp но где взять *.h чтобы подключить либу в проект ума не приложу. нашел ntpd.h в исходниках, подключил, и естесно "астапа понесло")) не найдены инклуды.., неужель подключать всю пачку? зачем тогда либа?? Давайте вместе подумаем и будет...
C++ Создание главного меню для игры.Помощь! http://www.cyberforum.ru/cpp-beginners/thread339251.html
Народ! Мне тут задали на практике в универе сделать PacMan. С чего начать вообще не знаю =( Решил с меню. Не могли бы вы показать примеры, только такие, чтоб всё было не в одной строчке, а по середине. Желательно с пояснениями (ну я чайник) Меню должно быть примерно такое: ========== =Новая игра = = Выход = ==========
C++ Плагин для C++ редактора в VS 2010 Привет, подскажите, пожалуйста плагин для VS 2010, такой чтобы автоматом разделял инструкции пробелами, так же как это организованно для C#. Пример cout<<"Hello world"; => cout << "Hello world" ; подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
05.08.2011, 15:26     Проверка орфографии
Нужно написать маленькое приложение по проверке орфографии, которое сверяет введённое слово с словарём (файл dictionary.txt) и если слово написано правильно выводит уведомление об этом. Иначе пишет что слово было написано неправильно и пытается найти другие похожие слова (методом обмена местами двух букв в слове из словаря и дальнейшей сверкой со словом для поиска). Но что-то работает мой алгоритм через пень-колоду, что-то я упустил видать так как похожие слова он ищет не все. Так если внести в словарь слово simple и потом ввести ismple то алгоритм его "узнает", а если ввести simpel то уже не узнает.

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
void find(string);
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string test;
    cout<<"Введите слово: ";
    cin>>test;
    find(test);
}
 
void find(string tofind)
{
    ifstream dict("dictionary.txt"); //открыть словарь
    if(!dict)
     exit(100500); //вернурть если файл не удалось открыть
    string temp; //временная переменная
 
    //пока в словаре есть слова
    while(dict>>temp)
    // сравнивать их с строкой для поиска
    // и если найдено совпадение то вывести уведомление и прекратить поиск
     if (temp==tofind)
     {
         cout<<"\nСлово написано правильно.\n";
         return;
     }
 
    //если точного совпадения слов не найдено
    //убрать метку конца файла и установить курсор на начало файла
    dict.clear();
    dict.seekg(0);
 
    //вывести уведомление пользователю
    cout<<"\nСлово написано неправильно.\n";
 
    //пока есть слова в словаре
    while(dict>>temp)
    {
        //если длина слова для поиска и текущего слова в словаре одинаковая
        if(temp.length()==tofind.length())
        {
            for (int i=0;i<temp.length();i++)
            {
                for (int j=0;j<temp.length();j++)
                {
                    //сделать копию слова чтобы в ней можно было
                    //проводить замены
                    string dtemp=temp;
                    char c=dtemp[i];
                    dtemp[i]=dtemp[j];
                    dtemp[j]=c;
 
                    //если после обмена двух букв модиф. слово из словаря
                    //и слово для поиска одинаковые то вывести слово на печать
                    if (dtemp==tofind)
                     cout<<"\nВозможно Вы имели в виду \""<<temp<<"\""<<endl;
                    break;
                }
            }
        }
    }
 
    dict.close(); //закрыть словарь
}
Собственно файл словаря обычный txt файл с словами разделёнными пробелами/символами новой строки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru