Паскаль.Введите с клавиатуры фразу, например «Мама мыла раму, а Маша ела кашу». Поменяйте...

0 голосов

Паскаль.Введите с клавиатуры фразу, например «Мама мыла раму, а Маша ела кашу». Поменяйте местами части предложения, стоящие до запятой и после союза «а». Например: «Маша ела кашу, а мама мыла раму». Задайте исходной и полученной фразе разный цвет текста.


спросил от Начинающий (398 баллов) в категории Информатика
оставил комментарий от Архангел (142k баллов)

Лгать нехорошо. Не 40, а 20+10 за лучший.

оставил комментарий от Архангел (142k баллов)

Кроме того, о каком цвете речь? В графическом режиме выводить? Какой язык, какая версия?

оставил комментарий от Начинающий (398 баллов)

Ау ,не хотела,выбрала 40 (сайт сам поделил).Паскаль ,любые цвета.

оставил комментарий от Архангел (142k баллов)

В Паскале "цвета получаются только в графике, а графика у каждой версии своя и они все несовместимы.

оставил комментарий от Начинающий (398 баллов)

У меня на компуктере, версия 3.0. сборка 1052(05.10.2015).

оставил комментарий от Начинающий (398 баллов)

Сделайте пожалуйста на своей сборке ) И опишите пожалуйста ,студентка )

оставил комментарий от Архангел (142k баллов)

ПаскальАБЦ.НЕТ. Понятно

оставил комментарий от Архангел (142k баллов)

Надеюсь, Вам для фраз строго вида "А делал Р, а В делал Q" со словами через один пробел? или для фраз с произвольным количеством пробелов между словами и любыми текстами, лишь бы там запятая была и союз "а", даже если не сразу после запятой?

оставил комментарий от Архангел (142k баллов)

Ну нет, значит нет...

1 Ответ
0 голосов
ответил от Архангел (142k баллов)
 
Лучший ответ

// PascalABC.NET 3.0,сборка 1073
uses GraphABC;

const
  ss=', а ';
var
  s:string;
  p,q:integer;
begin
  Writeln('Введите фразу:'); Readln(s);
  p:=Pos(ss,s);
  if p=0 then Writeln('Во фразе нет контекста "',ss,'"')
  else begin
    q:=p+Length(ss);
    Window.Title:='Выводим в цвете!';
    SetFontSize(14);
    SetFontColor(clBlue);
    Writeln(s);
    SetFontColor(clRed);
    Writeln(Copy(s,q,Length(s)-q+1)+ss+Copy(s,1,p-1))
  end
end.

Пример работы программы во вложении.


image
...