Решить либо на с, с++, pascal дана строка, состоящая из слов, разделенных пробелами. напишите программу, удаляющую лишние пробелы и добавляющую недостающие пробелы. пробел считается лишним, если он: *стоит в начале строки; * стоит перед знаком препинания; * стоит в конце строки; * следует за пробелом. добавить пробел после знака препинания, при условии выполнения предыдущих пунктов.
239
276
Ответы на вопрос:
При работе со строками можно использовать много различных способов решения . здесь предлагается способ, в котором применяются только две библиотечных подпрограммы (length и delete). можно было сделать и без delete, а можно использовать trim, например. короче говоря, вот такой вариант программы на паскале: var s,s1: string; mn: set of char; i,l: integer; begin writeln('введите строку: '); readln(s); mn: =['.',',','; ',': ','! ','? ']; while s[1]=' ' do delete(s,1,1); while s[length(s)]=' ' do delete(s,length(s),1); while pos(' ',s)> 0 do delete(s,pos(' ',s),1); s1: =s[1]; for i: =2 to length(s)-1 do if not((s[i]=' ')and(s[i+1] in mn)) then s1: =s1+s[i]; s1: =s1+s[length(s)]; s: =s1[1]; for i: =2 to length(s1)-1 do if (s1[i] in mn)and(s1[i+1]< > ' ') then s: =s+s1[i]+' ' else s: =s+s1[i]; s: =s+s1[length(s1)]; writeln(s); end. пример: введите строку: дана строка ,состоящая из слов , разделенных пробелами . дана строка, состоящая из слов, разделенных пробелами.
//pascal abc.net v3.1 сборка 1172 var s,sr: string; i,j,n: integer; pr: array of char=('.',',','; ',': ','! ','? '); begin readln(s); s: =s.trim; var ars: =s.towords(); s: =''; for i: =0 to ars.length-1 do s+=ars[i]+' '; s: =s.trim; i: =0; while i< > s.length do begin inc(i); if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1); end; i: =0; while i< > s.length-1 do begin inc(i); if (s[i] in pr) and (s[i+1]< > ' ') then insert(' ',s,i+1); end; s: =s.trim; writeln(s); end. пример ввода: , , , ,, много слов. пример вывода: , , , , , много слов.
var var a,b: integer; begin readln (a,b); if a = b then writeln (4*a) else writeln(a+1,' ',b+2); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
vipnikita2019901.03.2023 06:12
-
help27631.10.2021 21:47
-
mihanesterov01.10.2022 01:18
-
AishaZamyjem822.12.2021 07:02
-
karallisa24.07.2020 05:50
-
мод803.06.2021 11:28
-
mafia4217.10.2022 06:42
-
milarudneva44919.11.2020 21:12
-
grishinaanfisa18.02.2023 13:04
-
barashinaa8829.03.2023 00:51
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.