Получить строку, в которой чередуются слова первой и второй строк - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Даны две строки. Получить строку, в которой чередуются слова первой и второй строки. Если в одной из строк число слов больше, чем в другой, то оставшиеся слова зтой строки должны быть дописаны в строку-результат.

Решение задачи: «Получить строку, в которой чередуются слова первой и второй строк»

textual
Листинг программы
type astr=array[0..120] of string;
procedure split(delimeter:string;s:string;var sr:astr;var l:integer);
var
  i:integer;
  t:string;
procedure additem;
begin
  if t<>'' then begin
    inc(l);
    sr[l-1]:=t;
    t:='';
  end;
end;
begin
  l:=0;t:='';
  for i:=1 to length(s) do
  if pos(s[i],delimeter)=0 then t:=t+s[i] else additem;
  additem;
end;
var
  i,j,n1,n2:integer;
  s1,s2,s3:string;
  a,b:astr;
begin
  write('CTPOKA1:');
  readln(s1);
  write('CTPOKA2:');
  readln(s2);
  split(' ',s1,a,n1);
  split(' ',s2,b,n2);
  s3:='';
  i:=0;j:=0;
  repeat
    if n1>i then s3:=s3+a[i]+' ';
    if n2>j then s3:=s3+b[j]+' ';
    i:=i+1;j:=j+1;
  until (n1<=i) and (n2<=j);
  writeln('Pe3:',s3);
end.

Объяснение кода листинга программы

  1. Создается тип данных astr, который представляет собой массив строк до 120 элементов.
  2. Создается процедура split, которая принимает в качестве параметров дефис (delimeter), строку (s), и переменную для хранения результата (sr). Также есть вспомогательная переменная l для отслеживания индекса последнего элемента в sr. Внутри процедуры происходит разбиение строки s на элементы, которые чередуются между собой. Каждый элемент добавляется в sr с помощью функции additem.
  3. Создается процедура additem, которая проверяет, не пустая ли строка t. Если это так, то увеличивается значение l и t обновляется. Если t не пустая, то вызывается функция split для добавления следующего элемента в sr.
  4. Создается переменные i, j, n1 и n2 для отслеживания индексов элементов в a и b.
  5. Строки s1, s2 и s3 инициализируются пустой строкой.
  6. Запускается цикл repeat, который повторяется до тех пор, пока n1 меньше i и n2 меньше j. Внутри цикла происходит добавление элементов из a и b в s3 с помощью оператора конкатенации строк.
  7. Значения i и j увеличиваются на единицу.
  8. Цикл repeat завершается, когда n1 больше i или n2 больше j.
  9. Выводится строка s3.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы