Дан массив строк. Отсортировать его по длине строк.

program sortd;

type

indata=string[80];

mas=array[1..80] of indata;

var

st:mas;

i,n:integer;

Procedure sortstring(var m:mas; n:integer);

var

min,i_min,k,i,j:integer;

r:indata;

begin

for k:=1 to n-1 do

begin

min:=length(m[k]);

i_min:=k;

for i:=k to n do

if length(m[i])<min then

begin

min:=length(m[i]);

i_min:=i;

end;

r:=m[k];

m[k]:=m[i_min];

m[i_min]:=r;

end;

end;

begin

writeln ('Введите количество строк:');

readln (n);

writeln ('Введите строки:');

for i:=1 to n do

readln (st[i]);

Writeln ('Исходный массив строк:');

for i:=1 to n do

writeln (st[i]);

sortstring(st,n);

Writeln ('Отсортированный массив строк');

for i:=1 to n do

writeln (st[i]);

end.

 

Порядок выполнения работы

 

1. Изучить принципы организации и правила работы со строками с использованием алгоритмического языка Turbo Pascal.

2. Получить у преподавателя вариант задания.

3. Составить и выполнить программу.

4. Предъявить преподавателю результаты работы программы.

5. Провести анализ полученных результатов, оформить отчет.

6. Защитить и сдать преподавателю лабораторную работу.

 

Варианты заданий

 

1. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины.

2. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2.

3. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2.

4. Дан текст Txt. Удалить строку St из текста.

5. Дан массив строк. Отсортировать его в алфавитном порядке.

6. Дан массив строк. Отсортировать его по длине строк.

7. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины.

8. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2.

9. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2.

10. Дан текст Txt. Удалить строку St из текста.

11. Дан массив строк. Отсортировать его в алфавитном порядке.

12. Дан массив строк. Отсортировать его по длине строк.

13. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины.

14. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2.

15. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2.

16. Дан текст Txt. Удалить строку St из текста.

17. Дан массив строк. Отсортировать его в алфавитном порядке.

18. Дан массив строк. Отсортировать его по длине строк.

19. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины.

20. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2.

21. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2.

22. Дан текст Txt. Удалить строку St из текста.

23. Дан массив строк. Отсортировать его в алфавитном порядке.

24. Дан массив строк. Отсортировать его по длине строк.

25. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины.

26. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2.

27. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2.

28. Дан текст Txt. Удалить строку St из текста.

29. Дан массив строк. Отсортировать его в алфавитном порядке.

30. Дан массив строк. Отсортировать его по длине строк.

31. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины.

32. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2.

33. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2.

34. Дан текст Txt. Удалить строку St из текста.

35. Дан массив строк. Отсортировать его в алфавитном порядке.

36. Дан массив строк. Отсортировать его по длине строк.

 

 

Контрольные вопросы

1. Что такое строка?

2. Какими стандартными процедурами и функциями располагает Turbo Pascal для работы со строками?

3. Что понимается под строковыми выражениями?

4. Какие операции допускаются со строковыми выражениями?