Дан массив строк. Отсортировать его по длине строк.
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. Какие операции допускаются со строковыми выражениями?