Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2007, 16:21   #1
menlo
Пользователь
 
Регистрация: 03.11.2007
Сообщений: 13
Печаль Задача Паскаль help plz

Представить данные о студентах института в виде массива записей со структурой:
Студент
Ф.И.О
Балл за семестр

Код:
program z_1;
uses crt;
const q=3;
type
students=record
 name:string[20];
 surname:string[20];
 otchest:string[20];
 ocenka:integer;
end;
var
i:integer;
inst:array[1..q] of students;
n:1..q;
c:byte;
procedure input_data;
begin
  writeln('Введите данные № ',n,':');
  write('Имя- ');readln(inst[n].name);
  write('Фамилия- ');readln(inst[n].surname);
  write('Отчество- ');readln(inst[n].otchest);
  write('Балл- ');readln(inst[n].ocenka);
  writeln;
end;
procedure write_data;
begin
 with inst[n] do
 begin
  writeln('Имя : ',name);
  writeln('Фамилия : ',surname);
  writeln('Отчество : ',otchest);
  writeln('Балл : ',ocenka);
 end;
end;
begin
 clrscr;
 for n:=1 to q do input_data;
  writeln('Вывод данных');
    writeln;
  readkey;
end.
Вот задача.Я не могу сделать, чтоб отсортировать по баллам.Помогите плз
menlo вне форума Ответить с цитированием
Старый 15.12.2007, 17:40   #2
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Делаеться типичная сортировка массива
Код:
for i:=1 to  n-1 do
for j:=i+1 to n do
if inst[i].otchest>inst[j].otchest then begin
p:=inst[i].otchest; inst[i].otchest:=inst[j].otchest; inst[j].otchest:=p;
{только менять местами придеться все эллементы записи}
s:=inst[i].name; inst[i].name:=inst[j].name; inst[j].name:=s;
s:=inst[i].surname; inst[i].surname:=inst[j].surname; inst[j].surname:=s;
s:=inst[i].otchest;inst[i].otchest:=inst[j].otchest; inst[j].otchest:=s;
end;
Можно короче сделать через with, думаю сами справитесь.
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПАСКАЛЬ задача gotex Помощь студентам 3 04.06.2008 21:08
Паскаль. задача с олимпиады SoulFlyMF Помощь студентам 2 13.11.2007 20:52
Паскаль. задача с помощью FOR TO DO Маринуська Помощь студентам 7 29.10.2007 18:49
Паскаль. задача на массив narkozz Паскаль, Turbo Pascal, PascalABC.NET 3 23.05.2007 20:48
Задача с матрицей, Паскаль Integra Помощь студентам 1 25.04.2007 16:14