Домашнее задание:
Составить массив из пяти записей следующей структуры:
Фамилия президента;
Страна;
Возраст;
Годовой доход;
Марка любимого автомобиля.
Рассортировать массив в алфавитном порядке по фамилии президентов и вывести информацию на экран.
Подсказка
Описать структуру подобно как в задаче на уроке.
Type
worker=record
surname:string[15];
year:word
end;
В описании структуры массива указать тип элемента записи, такого же типа должна быть переменная х. В процедуре сортировки в операторе if a[j-1]'>'a[j] then нужно указать уточненное имя поля. if a[j-1].surname'>'a[j].surname then, где surname - имя поля для хранения фамилии президента.
Type
ar=array[1..100] of real;
Var
a:ar;
n:integer;
Procedure BubbleSort(n:integer;Var a:ar);
Var
i,j:integer;
x:real;
Begin
For i:=2 to n do
For j:=n downto i do
if a[j-1]'>'a[j] then
Begin
x:=a[j-1];
a[j-1]:=a[j];
a[j]:=x
end
End;
РЕШЕНИЕ Д/З
Program n1;
type
prisedent=record
surname:string[30];{фамилия президента}
country:string[30];{страна}
year:word; {возраст}
doxod:longint; {годовой доход}
machine:string[30]; {марка любимого автомобиля}
end;
om=array[1..5]of prisedent;{массив записей}
var
a:om;
x:prisedent;{переменная для обмена}
i,j:integer;
begin
for i:=1 to 5 do
with a[i] do
begin {заполнение полей записи с клавиатуры}
readln(surname);
readln(country);
readln(year);
readln(doxod);
readln(machine);
end;
{Сортировка массива из 5 записей}
for i:=2 to 5 do
for j:=5 downto i do
with a[j-1] do {использовали оператор присоединения для a[j-1]}
if surname'>'a[j].surname then
begin
x:=a[j];
a[j]:=a[j-1];
a[j-1]:=x;
end;
for i:=1 to 5 do
writeln('prisedent',a[i].surname,a[i].country:20);
end.
суббота, 20 февраля 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)

Комментариев нет:
Отправить комментарий