Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Записи
Помогите пожалуйста исправить задачу...(выдает ошибку,что ind неизвестный идентификатор) и подскажите,как эту же задачу переделать,чтобы она работала с динамической памятью и были указатели
1.Сформировать массив записей с указанными полями и вывести егона экран в виде таблицы(поля:фамилия,мат.анализ,физика,информатика)
2.Найти и вывести на экран фамилии студентов,у которых средний бал больше 4,0
3.Сформировать новый,упорядоченный по фамилиям массив,включающий фамилии студентов и средний бал
4.Вывести новый массив в виде таблицы.
program lab1;
uses crt;
const
n=10;
type
stud_zap=record
fam:string;
srb:real;
matan,fiz,inform:integer;
end;
mas_zap=array [1..n] of stud_zap;
var
z:stud_zap;
m,m1:mas_zap;
i,j:integer;
s:string;
procedure vvod (var zt:stud_zap); {procedura zapolnenia massiva zapisi}

procedure vivod(zt:stud_zap); {procedura vivoda massiva zapisi}

procedure poisksrb (mt:stud_zap); {srb>4 poisk studentov}
begin

procedure sort(var mt,m1t:mas_zap;nt:byte;fam:string;srb:real); {sort po familiam}
var
z:stud_zap;
ind:byte;

begin
for i:=1 to n-1 do
m[i].fam:=m1[i].fam;
m[i].srb:=m1[i].srb;
end;
begin
for i:=1 to n-1 do
begin

z:=m[i];
ind:=i;
for j:=i+1 to n do
if z.fam>m[j].fam
then
begin
z:=m[j];
ind:=j;
end;
m[ind]:=m[i];
m[i]:=z;
end;
end;
procedure noviymas(mt:stud_zap); {procedura vivoda massiva zapisi}
begin
write('---------------------------------------------------------');
writeln;
write('| familia | srb |' );
for i:=1 to 2 do
with m[i] do
begin
writeln;
write (fam:12,' ');
write(srb:5:2,' ');
writeln;
end;
write('---------------------------------------------------------');
writeln;
end;
end;

begin
clrscr;
vvod(z,s);
vivod(z);
readln;
poisksrb(z);

sort(m1,m);

noviymas(z);
readln;
end.

1 | Автор: cassy | 2009-10-17, 22:21 | Изменено: cassy - Сб, 2009-10-17, 22:52   |  Репутация: [ + 0 ]
  • Страница 1 из 1
  • 1
Поиск: