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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Cin и ввод строки разными функциями http://www.cyberforum.ru/cpp-beginners/thread105229.html
На одном сайте код cin.read(buff1,3); на другом getline(cin,buff1); нужно считать строку со всеми пробелами. где можно подробно прочитать про параметры гетлайн и реад.? и чем они отличаются.
C++ Переполение массива - нет ошибки #include <iostream.h> #include <conio.h> int str_len(char a) { int L=0; while(a); return L-1; } http://www.cyberforum.ru/cpp-beginners/thread105222.html
Быстрый вызов C++
Как програмно сделать так что бы при нажатии сочетания клавиш F12+Home запускалась программа из windpws C:\program Files\test.exe
Поиск в массиве C++
Добрый день, уважаемые форумчане! Помигите написать код для решения такой задачи: Задан массив, состоящий из n неотрицательных чисел. Найти в нем индекс элемента для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него.
C++ Напишите функцию itoa с дополнительным третьим аргументом, задающим минимальную ширину поля. http://www.cyberforum.ru/cpp-beginners/thread105138.html
Напишите функцию itoa с дополнительным третьим аргументом, задающим минимальную ширину поля. При необходимости преобразованное число слева должно дополняться пробелами. Прошу помочь!
C++ Массив: сортировка и поиск элемента Поставленно задание было такое: 1. Написать программу, которая создаёт массив, количество элементом которого задаётся пользователем с клавиатуры. Все элементы генерируются псевдослучайной последовательностью от "0" до числа, которое вводится с клавиатуры. Программы должна выводить массив до сортировки и после. Вывод массива до сортировки и после сделать используя функции. Сортировку сделать... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
16.03.2010, 13:02     Сканер текста
Алла, это код С в консоли для 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;
}
Миниатюры
Сканер текста  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru