Вывести сначала все фамилии на А, а порядок остальных не важен - Turbo Pascal
Формулировка задачи:
Вывести сначала все фамилии на А, а порядок остальных не важен, программа правильная
как её сделать через процедуру?
Решение задачи: «Вывести сначала все фамилии на А, а порядок остальных не важен»
textual
Листинг программы
type student = record Name :string; Surname :string; end; Tst=array[1..20] of student; procedure Sort(var st:Tst); var x,y:integer; t:student; begin x:=19; repeat if st[x].Surname[1]<>'A' then begin t.Surname:=st[x].Surname; for y:=x to 19 do st[y].Surname:=st[y+1].Surname; st[20].Surname:=t.Surname; end; Dec(x); until x<1; end; var i,j: integer; students: Tst; f:text; t:student; begin j:=0; assign(f,'fio.txt'); reset(f); writeln('Ishodnie familii'); Writeln; for i:=1 to 20 do begin readln(f,students[i].Surname); if j=4 then begin Writeln(students[i].Surname:15); j:=0; end else begin Write(students[i].Surname:15); Inc(j); end; end; Close(f); Sort(students); Writeln; Writeln('Konecniy spisok:'); Writeln; j:=0; for i:=1 to 20 do if j=4 then begin Writeln(students[i].Surname:15); j:=0; end else begin Write(students[i].Surname:15); Inc(j); end; Readln; end.
Объяснение кода листинга программы
- Создается тип данных
student
, который представляет собой запись с полямиName
иSurname
. - Создается массив типа
student
с именемTst
и длиной 20 элементов. - Определяется процедура
Sort
, которая принимает в качестве параметра переменнуюst
типаTst
. В этой процедуре происходит сортировка массиваTst
по фамилии студента. - В основной программе создается переменная
students
типаTst
и инициализируется значением по умолчанию. - Задается файл
fio.txt
и считывается его содержимое в переменнуюstudents
. - Выводится список фамилий студентов, отсортированный по фамилии. Если в файле есть 4 фамилии одинакового типа, то эти фамилии выводятся вместе.
- После считывания всех фамилий происходит вызов процедуры
Sort
для сортировки массиваstudents
. - Выводится окончательный список фамилий студентов, отсортированный по фамилии.
- Программа завершается вызовом функции
Readln
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д