AiratAitov
30.11.2020 13:15

Господи , я буду рада ,если кто-то сможет с этим : ​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
dicsi1
26.09.2021 21:41
Первая программа предназначена ТОЛЬКО для Pascal.ABC, в другой среде она работать не будет. Она самая короткая и простая. Метод Split разбивает исходную строку на слова по символу пробела и формирует динамический массив. Что бы мы ни вводили, мы всегда будем получать в результате то, что требовалось. (понятно, что если слов будет меньше трех, будем получать то, что ввели).

var
  s: string;
  ms: array of string;

begin
  Write('Введите три слова через пробел: ');
  Readln(s);
  ms := s.Split(' ');
  Writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1])
end.

Вторая программа реализуется в любой версии Pascal. Её недостаток в том, что она правильно работает только тогда, когда введена фраза из трех слов, разделенных пробелом. Это простейший линейный алгоритм.

var
  s, s1, s2, s3: string;
  n, p: integer;

begin
  Write('Введите три слова через пробел: ');
  Readln(s);
  n := Length(s);
  p := Pos(' ', s);
  s1 := Copy(s, 1, p - 1);
  s3 := Copy(s, p + 1, n - p);
  p := Pos(' ', s3);
  s2 := Copy(s3, 1, p - 1);
  n := Length(s3);
  s3 := Copy(s3, p + 1, n - p);
  Writeln(s1 + ' ' + s3 + ' ' + s2)
end.

Третья программа также реализуема в любой версии Pascal и содержит "классический" работы со строкой, состоящий в последовательном анализе каждого символа. Имеет защиту на случай, если слов будет больше или меньше трех.

var
  s: string;
  ms: array[1..3] of string;
  i, n, p, j: integer;

begin
  Write('Введите три слова через пробел: ');
  Readln(s);
  {
  Алгоритм: Просматриваем все символы строки начиная с позиции p
  и при обнаружении пробела в позиции q заносим в массив очередное слово,
  копируя q-p символов, начиная с p. Затем заносим в p значение q+1
  и продолжаем просмотр. При старте принимаем p=1
  }
  p := 1; j := 0; n := Length(s);
  for i := 1 to n do
    if s[i] = ' ' then
    begin
      j := j + 1;
      if j <= 3 then begin{ если введено больше двух пробелов }
        ms[j] := Copy(s, p, i - p);
        p := i + 1
      end
    end;
  if j < 3 then ms[3] := Copy(s, p, n - p + 1);
  Writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2])
end.

Все три программы опробованы и результаты их работы одинаковы:

Введите три слова через пробел: Зебра полосатая лошадь
Зебра лошадь полосатая
0,0(0 оценок)
Ответ:
qq302894
24.10.2022 10:04
Var
n,t,s,d,e:integer;
begin
writeln('');
repeat
writeln('Введите сумму в рублях<=1000');
readln(n);
until (n>0) and (n<=1000);
t:=n div 1000;
n:=n-t*1000;
s:=n div 100;
n:=n-s*100;
d:=n div 10;
if d<>1 then
begin
n:=n-d*10;
e:=n;
end;
case t of
     1:write('тысяча ');
end;
if s>=0 then
case s of
     1:write('сто ');
     2:write('двести ');
     3:write('триста ');
     4:write('четыресто ');
     5:write('пятьсот ');
     6:write('шестьсот ');
     7:write('семьсот ');
     8:write('восемьсот ');
     9:write('девятьсот ');
end;
if d>=0 then
case d of
     1:
     case n of
     10: write('десять ');
     11: write('одиннадцать ');
     12: write('двенадцать ');
     13: write('тринадцать ');
     14: write('четырнадцать ');
     15: write('пятнадцать ');
     16: write('шестнадцать ');
     17: write('семнадцать ');
     18: write('восемнадцать ');
     19: write('девятнадцать ');
     end;
     2:write('двадцать ');
     3:write('тридцать ');
     4:write('сорок ');
     5:write('пятьдесят ');
     6:write('шестьдесят ');
     7:write('семьдесят ');
     8:write('восемьдесят ');
     9:write('девяносто ');
end;
if e>=0 then
case e of
     1:write('один ');
     2:write('два ');
     3:write('три ');
     4:write('четыре ');
     5:write('пять ');
     6:write('шесть ');
     7:write('семь ');
     8:write('восемь ');
     9:write('девять ');
end;
if (e=1) then write('рубль ')
else if (e=0)or(e>4) then write('рублей ')
else write('рубля ');
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота