Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 18.12.2011, 21:37   #1 (permalink)
Ильгиза
Member
 
Регистрация: 08.10.2011
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Pascal ABC, записи, нужен вывод отсортированной строки

Здравствуйте!!!

необходимо написать программу , которая вводит и выводит информацию о 10 студентах,а именно фамилия,имя, пол, дата рождения(число,месяц,год), оценки за 4 экзамена сессии и сортирует список студентов по среднему баллу

к примеру:
1)Иванова Марина Ивановна Ж 18.03.1992 4 5 5 4
2)Иванов Вадим Максимович М 22.10.1993 2 2 3 2
...
т.е после сортировки первой будет идти информация о Вадиме потом о Марине.
сделала так, но вывести информацию после сортировки не могу.
program upr1;
const n=10;
type date=record
day:1..31;
month:1..12;
year:integer;
end;
pupil=record
fam,name:string[15];
p:char;
bd:date;
b1,b2,b3,b4:2..5;
sb:real;
end;
procedure p1( var aupil);
begin
with a do
begin
write('фамилия:');
readln(fam);
write('имя:');
readln(name);
write('пол:');
readln(p);
write('дата рождения:');
readln(bd.day,bd.month,bd.year);
write('оценки:');
readln(b1,b2,b3,b4);
end;
end;
procedure p2( aupil);
begin
with a do begin
write(fam,'':15-length(fam));
write(name,'':10-length(name));
with bd do begin
if day<10 then write ('0');
write(day,'.');
if month<10 then write ('0');
write(month,'.');
write(year);
end;
writeln(b1,b2,b3,b4);
end;
end;
var mas:array[1..n] of pupil;
i,k:integer; c:real;
begin
writeln('введите информацию об ',n,' учениках');
for i:=1 to n do p1(mas[i]);
writeln('список учеников: ');
writeln('n фи пол дата рождения ');
for i:=1 to n do begin write (i:2,'.');
p2(mas[i]);
end;
writeln;
for i:=1 to n do
with mas[i] do begin
sb:=(b1+b2+b3+b4)/4;
writeln('средний балл ',i,'-го студента:',sb);
end;
for k:=2 to n do
for i:=n downto k do
if mas[i-1].sb > mas[i].sb then begin
c:=mas[i-1].sb;
mas[i-1].sb:=mas[i].sb;
mas[i].sb:=c;
for i:=1 to n do
p2(mas[i]);
end;
end.

Спасибо заранее!!!!!
Ильгиза вне форума   Ответить с цитированием

Старый 18.12.2011, 21:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Ранее на нашем форуме участники создавали аналогичные топики

Pascal, ABC, тип записи, нужна помощь
Pascal, строки
Строки и записи.
Вывод строки и столбца матрицы

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:40.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.