Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Slefer
1 / 1 / 3
Регистрация: 10.10.2017
Сообщений: 18
Завершенные тесты: 1
1

В массиве символов каждое предложение с новой строки

17.10.2017, 17:02. Просмотров 800. Ответов 5

Есть текст, хранящийся в массиве ТXT. Нужно, чтобы каждое предложение данного текста выводилось в консоле с новой строки. Помогите, пожалуйста, найти проблему в моём коде.
C
1
2
3
4
5
6
7
8
for(int j = 0; TXT[j]; j++)
    {
        if (j == '.')
        {
            printf("\n");
        }
        putchar(TXT[j]);
    }
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2017, 17:02
Ответы с готовыми решениями:

Создать новый текстовый файл, в который поместить каждое предложение из старого, начиная с новой строки и отступив от начала строки 5 пробелов.
Здравствуйте, начались файлы, но вот я их не особо понял. Дан текстовый файл, в котором находится...

Прочесть предложение и написать каждое слово в новой строке
#include <stdio.h> #define OUT 0 #define IN 1 /* Требование: составить программу, которая...

Разбить строку, чтобы каждые 30 символов записывались с новой строки
Как разбить большую строку в подстроку. Например есть большая строка в 32 символов и ее нужно...

Разбить предложение на слова и занести каждое в массив
В общем, трабл начинается на 3 слове, первые 2 записывает нормально, а на 3 слове аварийное...

Каждое слово вывести с новой строчки
Составить программу, которая копирует на экран, текст с клавиатуры и располагает каждое слово в...

5
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10536 / 6238 / 1567
Регистрация: 25.07.2009
Сообщений: 11,871
17.10.2017, 17:07 2
Slefer, порядок действий нарушен. Сначала всё-таки нужно точку вывести, а потом уже на новую строку переходить. И по хорошему ещё ведущие пробелы пропускать, иначе новая строка будет с них начинаться.
0
Michail97
93 / 40 / 23
Регистрация: 18.09.2016
Сообщений: 372
17.10.2017, 17:12 3
Цитата Сообщение от Slefer Посмотреть сообщение
массиве ТXT
Странное название, быть может вам нужно считывать файл?
0
Slefer
1 / 1 / 3
Регистрация: 10.10.2017
Сообщений: 18
Завершенные тесты: 1
17.10.2017, 17:18  [ТС] 4
easybudda, С точкой дейстиветельно прогадал. А можно, пожалуйста, по-подробнее с пропуском ведущих пробелов? Не совсем понял как это реализовать...
P. S.Начало текста состоит из "Among other public buildings in a certain town, which for many reasons", а в консоль выводит:
"Among other public buildings in a certain town.
, which for many reasons
"

Добавлено через 2 минуты
Michail97, нет нет, ничего считывать не нужно, просто обычный массив символов)
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10536 / 6238 / 1567
Регистрация: 25.07.2009
Сообщений: 11,871
17.10.2017, 17:26 5
Лучший ответ Сообщение было отмечено Slefer как решение

Решение

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
#include <stdio.h>
#include <locale.h>
 
void print_by_sentences(const char * s) {
    int inSentence = 0;
    
    for ( ; ; ++s ) {
        switch ( *s ) {
            case '\0':
                putchar('\n');
                return;
            case ' ':
            case '\t':
                if ( inSentence )
                    putchar(*s);
                break;
            case '.':
            case '!':
            case '?':
                inSentence = 0;
                putchar(*s);
                putchar('\n');
                break;
            default:
                inSentence = 1;
                putchar(*s);
        }
    }
}
 
int main(void) {
    char str[] = "Slefer, порядок действий нарушен. Сначала всё-таки нужно точку вывести, а потом уже на новую строку переходить. И по хорошему ещё ведущие пробелы пропускать, иначе новая строка будет с них начинаться.";
    
    setlocale(LC_ALL, "Russian");
    print_by_sentences(str);
    
    return 0;
}
В массиве символов каждое предложение с новой строки
1
Slefer
1 / 1 / 3
Регистрация: 10.10.2017
Сообщений: 18
Завершенные тесты: 1
17.10.2017, 17:35  [ТС] 6
easybudda, большое спасибо! Сейчас буду пытаться разобраться что к чему в Вашем коде)
0
17.10.2017, 17:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2017, 17:35

Вывести каждое слово предложения в новой строке
Помогите, пожалуйста, вывести каждое слово предложение на новой строке?

Отформатировать текст: каждое предложение с новой строки, между словами - по одному пробелу
Задача: Дан текстовый файл. Переписать его текст в новый файл таким образом, чтобы каждое...

Вывести текст файла, заменив цифры на слова, начиная каждое предложение с новой строки
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до...


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

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

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