Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Заблокирован
Автор FAQ
1

Сканер текста

16.03.2010, 13:02. Показов 999. Ответов 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;
}
0
Миниатюры
Сканер текста  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2010, 13:02
Ответы с готовыми решениями:

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

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

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

Сканер IP - Адресов, Порт - сканер (в локальной сети)
Доброе время суток) Написана программа для сканирования портов (указал диапазон 5900 - 5906), на...

1
ISergey
16.03.2010, 13:05     Сканер текста
  #2

Не по теме:

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

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2010, 13:05

Помощь в написании контрольных, курсовых и дипломных работ здесь.

3D сканер...
Есть у меня желание сделать 3D модели некоторых вещичек... Сам работал в 3D Max и Blender, но...

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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