Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 19.03.2016
Сообщений: 18

Реализовать посимвольное считывание из консоли больших текстов

28.05.2016, 19:26. Показов 1828. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как реализовать посимвольное считывание из консоли, чтоб работало с большими текстами. С небольшой строкой у нас считвывает нормально, а с длинной считывание не происходит (зацикливается)
(вводим текст олпорпы4орпорп3фа прога убирает 4,3 оставшиеся 3 слова выдает в консоль предварительно отсортировав по алфавиту )
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
81
82
83
84
85
86
87
88
89
90
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
 
    int dls, i=0;
    char s[300];
    char e;
    printf("Vvedite text\n");
    
    //scanf ("%s", s);
    do
    {
        scanf("%c", &s[i]); 
        i++;
    }
    while(s[i-1] != '\n');
    
    
        s[i-1] = '\0';
    for(i=0; s[i] != '\0'; i++)
    
 
 
    dls = strlen(s);
    int j=0,k=0,n=0,f=0;
    char ms[50][400],c[400];
 
//  printf("%d\n",__LINE__);
    
    while(n<=dls)
    {
 //while(!((s[n] < 0x41 || s[n] > 0x5A) && (s[n] < 0x61 || s[n] >  0x7A)))
 
        while((s[n]!=',' && s[n]!= '.' && s[n]!= '1' && s[n]!= '2' && s[n]!= '3' && s[n]!= '4' && s[n]!= '5' && s[n]!= '6' 
        && s[n]!= '7' && s[n]!= '8' && s[n]!= '9' && s[n]!= '0' && s[n]!= '-' && s[n]!= '=' && s[n]!= '!' && s[n]!= '@' 
        && s[n]!= '#' && s[n]!= '$' && s[n]!= '%' && s[n]!= '^' && s[n]!= '&' && s[n]!= '*' && s[n]!= '(' && s[n]!= ')'
        && s[n]!= '_' && s[n]!= '+' && s[n]!= '"' && s[n]!= '¹' && s[n]!= ';' && s[n]!= ':' && s[n]!= '?' && s[n]!= '/'
        && s[n]!= '|' && s[n]!= '>' && s[n]!= '<' && s[n]!= '`' && s[n]!= '~' && s[n]!= ' '))
        
        {
            ms[i][j]=s[n];
            j++; 
            n++;
        }
        
        
        j = 0; 
        
        i++; 
        
        n++;
 
    }
    
//  printf("%d\n",__LINE__);
    
    do
    {
        f=0;
        for(j=i-1;j>k;j--)
        { 
            if (strcmp(ms[j],ms[j-1])<0)
            { 
                strcpy(c,ms[j]);
                strcpy(ms[j],ms[j-1]);
                strcpy(ms[j-1],c);
                f=1;
            } 
        }
        k++;
    }
    while(f);                     
    
//  printf("%d : i=%d\n",__LINE__,i);
    
    for (j=0;j<i;j++)
    {
        //printf("%d\n",__LINE__);
        
        if (ms[j][0])
        printf("text: %s\n",ms[j]);
    }
    
    
    //printf("%d\n",__LINE__);
    
    return EXIT_SUCCESS;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2016, 19:26
Ответы с готовыми решениями:

Посимвольное сравнение текстов
Вопрос следующий, необходимо проверить текст на наличие ошибок. Есть исходный текст и проверяемый. Следующий код с каждым следующим...

Сравнение посимвольное 2х текстов
что то я уже минут 30 не могу понять элементарного, есть 2 ричьэдита на пример, в одном написано 'йцукен', другой пустой, и как проверить...

посимвольное считывание
у меня такая ситуация.я ввожу в окне Edit1 два расширения через запятую,нажимаю на кнопку и у меня должно вывести файлы с расширением...

1
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
28.05.2016, 21:34
Цитата Сообщение от Vik_t_o_r Посмотреть сообщение
чтоб работало с большими текстами
Что вы называете большими текстами? У вас массив s имеет размер 300 байт и нигде нет проверки на переполнение.

Кстати, строки 21 и 22 не перепутаны местами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2016, 21:34
Помогаю со студенческими работами здесь

посимвольное считывание
У меня есть переменная типа string которая равна &quot;000000000000&quot;. Мне нужно программно превратить ее вот в такую: 000-000-000-000. Я хочу...

Посимвольное считывание
Здравствуйте! Нужно считать строку, но считывать лишь до тех пор пока не будет нажат enter или esc. Написал приведенный ниже код, который...

Посимвольное считывание из файла
Суть задачи в следующем: В одном файле имеется 5 целых чисел, в другой файл нужно записать сумму квадратов этих чисел. Как организовать...

Посимвольное считывание из файла
Сообствено, задание: посимвольно считать данные из файла f и записать их также посимвольно в файл g. Помогите реализовать. Я вот набросал,...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru