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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
-=ЮрА=-
Заблокирован
Автор FAQ
#1

Сканер текста - C++

16.03.2010, 13:02. Просмотров 622. Ответов 1
Метки нет (Все метки)

Алла, это код С в консоли для 6-й студии
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
74
75
76
77
78
79
80
/*
есть таблица, допустим 
1 - хлеб
2 - соль
3 - вода
необходим сканер текста: 
если в тексе он находи 1, 
то её он заменяет на слово "хлеб" и т.д      
*/
#include <windows.h>
#include <stdio.h>
 
//Ввод текстового блока до того
//как не будет введён символ chEnd
//Возвращаеміе функцией значения :
//  char * str - Строка с текстом
//  int   sLen - Число символов в строке
char * enter_string(char * str, char chEnd, int &sLen);
//Функция заменяет в строке str символ smove на строку srpl
char * replace_char(char * str, char ch, char * srpl);
//Выделяем память под наш текстовый блок
char * str = (char *)malloc(sizeof(char));
int sLen = -1;
//Хэш таблица
char * sHash[] = {"hleb","sol'","voda"};
int A_SHIFT = 48; //Сдвиг для символов чисел в ANSCI - кодировке
 
void main()
{
    printf("\tEner input string\r\n");
    //Вводим строку до нажатия Enter
    str = enter_string(str, '\n', sLen);
    //Последовательно заменяем символы 
    //'1','2','3' 
    //на соответствующие значения из таблицы sHash
    for(int i = 0; i < 3; i++)
        str = replace_char(str, (char)(i + A_SHIFT + 1), sHash[i]);
    printf("\tString after raplacing\r\n%s",str);
    printf("\r\nPress NUM1 to enter new string\r\n");
    str = enter_string(str, '\n', sLen);
    if(str[0] == '1')
        main();
}
 
char * enter_string(char * str, char chEnd, int &sLen)
{
    sLen = 0;
    while((str[sLen] = getchar()) != chEnd)
    {
        sLen++;
        str = (char *)realloc(str,(1 + sLen)*sizeof(char));
    }
    str[sLen] = '\0';
    return str;
}
 
char * replace_char(char * str, char ch, char * srepl)
{
    if(str && srepl)
    {
        int i = 0, j = 0, k = 0;
        int n = strlen(srepl);
        int m = strlen(str);
        char * chBuf = strrchr(str,ch);
        while(chBuf)
        {
            i = m - strlen(chBuf) - 1;
            str = (char *)realloc(str,m + n);
            memmove(&str[i - 1 + n],&str[i],m - i + 1);
            str[m + n] = '\0';
            if(0 < i)
                i++;
            for(j = 0; j < n; j++)
                str[i + j] = srepl[j];
            m = strlen(str);
            chBuf = strrchr(str,ch);
        }
    }
    return str;
}
Миниатюры
Сканер текста  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2010, 13:02     Сканер текста
Посмотрите здесь:

Построить лексический сканер, который выделял бы из текста входной программы, написанной на языке С все ключевые слова - C++
Помогите построить лексический сканер, который выделял бы из текста входной программы, написанной на языке С++ все, содержащиеся в ней,...

Лексический сканер - C++
Лексический сканер должен учитывать области видимости и кодировать их по-разному. Содержание задания: Разработать программу лексического...

Написать самый простой антивирусный сканер, который сможет найти вирус, записанный в автозагрузку - C++
Всем привет, пишу практическую работу по информационной безопасности, необходимо написать самый простой антивирусный сканер, который сможет...

Разработать сканер для выделения лексем из строки текста - C#
Ребят, привет!!! :)Помогите мне пожалуйста... Срочно нужна ваша помощь.:wall: Мне нужно разработать программу – сканер для выделения...

Сканер - Delphi
Уважаемые программисты! Темой моей работы является &quot;Проблема 4-х красок&quot; ссылка У меня уже есть программа, которая в таймере плавно...

Сканер - Turbo Pascal
Один фотограф очень любил редактировать фотографии на компьютере. Для этого он использовал свой сканер. Он сохранял отсканированные...

Сканер и ТС - Windows Server
Добрый день, есть терминал на Windows server 2008r2 и несколько сетевых мфу hp 1212nf стоят они на разных этажах, возможно ли сделать так,...

Сканер портов - C++
Хочу написать сканер портов,но что то не получается.Вот код: #include &quot;StdAfx.h&quot; #include &lt;WinSock2.h&gt; #include &lt;iostream&gt; ...

Сканер портов - C++ WinAPI
Всем привет.Пишу сканер портов.Как мне сделать так,что бы вывод шёл в главное окно?то есть нажимаю на кнопку &quot;сканировать&quot; и результат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
16.03.2010, 13:05     Сканер текста
  #2

Не по теме:

-=ЮрА=-, Ну ты даешь... ( ответ в новой теме что-то новое.. )

Yandex
Объявления
16.03.2010, 13:05     Сканер текста
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru