- •Обработка текстовых данных. Решение задач с использованием записей.
- •Var p: array[1..50] of char;
- •Var Str: array[1..60,1..80] of char;
- •Var t: string[50];
- •Var Pred: string;
- •Var st: abitur;
- •Var mst: array[1..N] of abitur;
- •Inform: string[4];
- •Var mts: array[1..N] of abitur;
- •Var st: abitur;
- •Ved: array[1..10]of stud;
- •I,k:byte;
- •Var Hel: array [1..N] of izb;
- •I,j: integer;
Ved: array[1..10]of stud;
sbp:real;
I,k:byte;
st:string[30];
begin
{заполнение массива записей с клавиатуры и одновременно – находим средний балл для каждого студента}
for i:=1 to 10 do begin
readln (ved[i].fam);
readln (ved[i].mat);
readln (ved[i].fiz);
readln (ved[i].prg);
ved[i].sbs:= (ved[i].mat + ved[i].fiz + ved[i].prg)/3;
end;
{занесение фамилий отличников по программированию в массив ms }
k:= 0;
for i:= 1 to 10 do
if ved[i].prg = 5 then
begin
inc(k);
ms[k]:= ved[i].fam;
end;
{выводим массив ms на экран }
for i:= 1 to k do
writeln(ms[i]);
{ выводим на экран средний балл для каждого студента }
for i:=1 to 10 do begin
writeln (ved[i].fam);
writeln (ved[i].sbs);
end;
readln;
end.
Пример 2
Ввести список избирателей (порядок, номер, Ф. И. О., дом. адрес). Отсортировать список в алфавитном порядке.
Const n=30;
Type izb=record
Nom: integer;
Fio: string [40];
Address: string [30];
End;
Var Hel: array [1..N] of izb;
Rab: izb;
I,j: integer;
Begin
{заполнение массива записей с клавиатуры }
writeln (‘Введите избирателя ’);
For I:=1 to n begin
WITH hel[I] do begin
Readln (nom);
readln (fio);
Readln (adress);
end; {WITH}
end; {for}
{Сортировка по фамилии}
For I:=1 to n do
For j:=1 to n-I do
If Hel[j].fio>Hel[j+1].fio then begin
Rab:= Hel[j];
Hel[j]:= Hel[j+1];
Hel[j+1]:= Rab;
end;
{выводим отсортированный массив на экран }
For I:=1 to n do
WITH Hel[I] do begin
Writeln ( nom);
Writeln (fio);
Writeln (adress);
end;
readln;
end.