Есть ответ 👍

Решить либо на с, с++, pascal дана строка, состоящая из слов, разделенных пробелами. напишите программу, удаляющую лишние пробелы и добавляющую недостающие пробелы. пробел считается лишним, если он: *стоит в начале строки; * стоит перед знаком препинания; * стоит в конце строки; * следует за пробелом. добавить пробел после знака препинания, при условии выполнения предыдущих пунктов.

239
276
Посмотреть ответы 3

Ответы на вопрос:

lyisa
4,4(67 оценок)

При работе со строками можно использовать много различных способов решения . здесь предлагается способ, в котором применяются только две библиотечных подпрограммы (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. пример ввода: , , , ,, много слов. пример вывода: , , , , , много слов.
natava1998
4,4(40 оценок)

  var       var         a,b: integer;   begin   readln (a,b); if a = b then   writeln (4*a)   else     writeln(a+1,' ',b+2); end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS