Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
2 / 2 / 1
Регистрация: 09.12.2014
Сообщений: 112

Проверить текст на правильность расстановки знаков препинания

16.12.2014, 23:27. Показов 2771. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания.
По правилу расстановки знаков препинания перед каждым знаком препинания пробел отсутствует, а после него обязательно стоит пробел. Учитывая данное правило, проверьте текст на правильность расстановки знаков препинания и, если необходимо, внесите в текст изменения.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2014, 23:27
Ответы с готовыми решениями:

Проверить правильность расстановки скобок
Проверить правильность расстановки скобок в формуле. (расстановка правильна, если число открытых и закрытых скобок совпадает). Исходный...

Проверить правильность расстановки скобок в строке
1.Дано скобочное выражение длинны N, содержащее скобки (), {} и . Проверить, является ли данное скобочное выражение правильным. Скобочное...

Проверить правильность расстановки скобок в строке
Проверить правильность расстановки скобок в строке S. Текст в строке S определяется следующим образом: <текст> ::= ...

5
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
17.12.2014, 13:02
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Const Prep = ['.',',','!','?',':',';'];
 
Function Correct(S :String) : String;
Var i : Byte;
Begin
  For i:=Length(S)-1 downto 1 do
  Begin
    If (S[i] in Prep) and (S[i+1]<>' ') then Insert(' ',S,i+1);
    If (S[i]=' ') and (S[i+1] in Prep) then Delete(S,i,1);
  end;
  Correct:=S;
end;
 
Begin
  Writeln(Correct('Sdfg ,sdfnjdhj :dhje ?  Ttyj . Etyj; etjd ! Ghjdgh. jdtytje .'));
end.
0
32 / 32 / 45
Регистрация: 01.11.2014
Сообщений: 155
Записей в блоге: 4
18.12.2014, 15:55
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses crt;
const
 ZP=['.',',','-',';',':','?','!'];
var
 s:string;
 i:integer;
function cor(s:string):string;
Begin
 for i:=2 to length(s)-1 do
   if s[i] in ZP then
    Begin
     if s[i+1]<>' ' then insert(' ',s,i+1);
     if s[i-1]=' ' then delete(s,i-1,1);
    end;
 Cor:=s;
end;
Begin
 write('Введите строку: ');
  readln(s);
 write(cor(s));
end.
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
18.12.2014, 17:00
Portoble, не будет Ваш код нормально работать.
0
32 / 32 / 45
Регистрация: 01.11.2014
Сообщений: 155
Записей в блоге: 4
18.12.2014, 17:20
APALoff, ну, Ваш код вообще не выполняет нужных действий (с выводом у него проблемка).
И что с моим кодом не так?
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
18.12.2014, 17:26
Цитата Сообщение от Portoble Посмотреть сообщение
с выводом у него проблемка
Пример можете привести?
У меня работает, хоть и начальный набор это бессмысленный набор знаков, но то что нужно код делает.
Результат:
Sdfg, sdfnjdhj: dhje? Ttyj. Etyj; etjd! Ghjdgh. jdtytje.
Цитата Сообщение от Portoble Посмотреть сообщение
И что с моим кодом не так?
У Вас цикл идет по строке, но во время цикла Вы меняете длину строки, что не благотворно сказывается на результате.
Вы сами попробуйте запустить код - он ошибку выдает:
Ошибка времени выполнения: System.IndexOutOfRangeException: Индекс находился вне границ массива.
Добавлено через 39 секунд
Мой же цикл идет "от хвоста" и лишен данной проблемы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2014, 17:26
Помогаю со студенческими работами здесь

Проверка корректности расстановки знаков препинания
По правилам пунктуации пробел может стоять после, а не перед каждым из следующих знаков: . , ; : ! ? ) ] } …; перед, а не после знаков: (...

Проверить правильность расстановки скобок.
Дана строка символов, содержащая круглые скобки.Проверить правильность расстановки скобок.

Проверить правильность расстановки скобок
Дано арифметическое выражение, содержащее три вида скобок &quot;(&quot;,&quot;[&quot;,&quot;{&quot;. Проверить правильность расстановки скобок, если какая-то скобка не...

Программа для вывода на экран знаков препинания(с указанием их АСКИ-кода) знаков препинания
Напишите и отладьте программу для вывода на экран(с указанием их АСКИ -кода) знаков препинания

Проверить правильность расстановки операторных скобок 'begin' и 'end'
Доброго времени суток )))) Помогите пожалуйста : проверка правильности расстановки операторных скобок 'begin' и 'end' в текстовом...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru