Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Записи

Автор: Credo 18.11.2010 15:04

Программа на записи
Даны сведение о студентах группы: ФИО студента, дата рождения студента, место рождение студента. Вывести список группы по убыванию года рождений студента.
Вот собственно что я написал. Программа не выводит ничего. Подскажите пожалуста smile.gif

program swedenia;
uses crt;
const n=1;

type
swed=record
FIO : string [50];
mesto : string [50];
god : word;
END;

VAR
mas : array [1..n] of swed; i,j : integer;

BEGIN
clrscr;
for i:=1 to n do
with mas[i] do

BEGIN
write('Введите ФИО-------------> '); readln(FIO);
write('Введите место рождения-> '); readln(mesto);
write('Введите год рождения----> '); readln(god);
readln;
end;

BEGIN
for i:=1 to n-1 do
for j:=j+1 to n do
if mas[j].god>mas[i].god then

BEGIN
for i:=1 to n-1 do
with mas[i] do

BEGIN
writeln(FIO);
writeln(god);
writeln(mesto);
readln;
END;
end;
END.

Автор: volvo 18.11.2010 15:11

Цитата
for i:=1 to n-1 do
при n = 1 аналогично for i := 1 to 0 do, то есть цикл даже не начнется.

Автор: Credo 18.11.2010 15:19

Цитата
при n = 1 аналогично for i := 1 to 0 do, то есть цикл даже не начнется

Ясно, мне константу как 3 брать?

Автор: volvo 18.11.2010 15:31

Тебе для начала надо подумать, что ты делаешь (ну, сравнил поле god, и что? Тут же идешь и в цикле выводишь весь массив записей? Не проще было бы отсортировать его, тем же пузырьком, который ты используешь сейчас, а потом - вывести от начала до конца на экран?)

Ну, и естественно, при выводе цикл должен быть до N, а не до (N-1).

Автор: Credo 18.11.2010 21:23

Спасибо все понятно!