profile
Опубликовано 6 лет назад по предмету Информатика от adashutka

Написать программу на Паскале АВС.
Дана строка,в которой есть точки,запятые,пробелы,тире,слова. В общем,много-много всего. Нужно преобразовать строку по правилам Ворда. То есть
1.между словами один пробел
2.перед точкой или запятой пробела нет,но после-есть
3. тире выделяется пробелами с двух сторон
Вот и все!

  1. Ответ
    Ответ дан petyaGavrikov
    var s,s1:string; i,p:integer;
    begin
    writeln('Введите строку:');
    readln(s);
    s1:='';
    for i:=1 to length(s) do
     case s[i] of
     ',','.' : s1:=s1+s[i]+' ';
     '-'     : s1:=s1+' - ';
     else s1:=s1+s[i];
     end;
    p:=pos('  ',s1);
    while p>0 do
     begin delete(s1,p,1); p:=pos('  ',s1); end;
    p:=pos(' ,',s1);
    while p>0 do
     begin delete(s1,p,1); p:=pos(' ,',s1); end;
    p:=pos(' .',s1);
    while p>0 do
     begin delete(s1,p,1); p:=pos(' .',s1); end; 
    writeln(s1);
    end.

    Пример:
    Введите строку:
    перед точкой   или   запятой пробела нет   ,но после   -есть   .
    перед точкой или запятой пробела нет, но после - есть. 
    1. Ответ
      Ответ дан adashutka
      ГОСПОДИ ИИСУСЕ СПАСИБО БОЛЬШОЕ ВАМ ДОБРЫЙ ЧЕЛОВЕК Я ПИШУ КОД УЖЕ 3 ЧАСА
Самые новые вопросы