Составить программу, выводящую строку "слова ступеньками вниз". В программе должен быть обеспечен ввод строки и вывод на экран результатов.
Условие задачи:Составить программу, выводящую строку "слова ступеньками вниз". В программе должен быть обеспечен ввод строки и вывод на экран результатов. По окончании каждого расчета и просмотра результатов предусмотреть очистку экрана, возобновление расчетов с другой строкой ( бесконечный цикл) или выход из программы..
Program PascalGuru; uses crt; label 1;
var s:string; {описание переменных} i,j,n,p:integer; A:array[1..50] of string; {массив слов строки}
begin 1:clrscr; write('Vvedite stroku slov [cerez probely]:'); readln(s); {ввод строки}
i:=1; {ниже алгоритм оставляет всего 1 пробел между словами} repeat if copy(s,i,2)=' ' then delete(s,i,1) else inc(i); until i>length(s); {оставили по 1 пропуску}
clrscr; writeln('Slova stupenikami: ');writeln;
i:=0; {индекс текущего элемента} repeat {данный цикл проходит по строке и все слова переписывает в массив} inc(i); {индекс текущего элемента увеличиваем на +1} p:=pos(' ',s); A[i]:=copy(s,1,p-1); {текущее слово добавляем в массив} delete(s,1,p); {после добавления - удаляем из строки} until p=0; n:=i; A[n]:=s; {последнее слово пишем в массив}
p:=0; {кол-во пробелов изначально равно нулю} for i:=1 to n do {цикл прохода по всем словам} begin for j:=1 to p do write(' '); {выводим пробелы } write(A[i]); {выводим текущее слово} p:=p+length(A[i]); {кол-во пробелов увеличиваем на размер текущего слова} writeln; {переход на след. строку} end;
writeln; writeln('----------'); writeln('"0" Exit'); writeln('"1" Repeat'); readln(p); if p=1 then goto 1;