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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 08:33   #1
зеленый1
Новичок
Джуниор
 
Регистрация: 16.02.2012
Сообщений: 2
Печаль Создать список студентов группы. Провести над ним операции.

Создать список студентов группы.
Описать и вывести массив,содержащий 10 записей следующей структуры: фамилия, возраст, № студ.билета, средняя оценка за последнюю сессию.
1. вывести массив в табличном виде.
2. вывести список студентов, средний бал которых ниже 4.
помогите решить остальный 2 условия:3. вывести списки, упорядоченные по возрасту.
4. найти студента, билет которого зарегистрирован раньше других.
PHP код:
Procedure z4;
type
sports
=record
fa
:string;
vz:integer;
gr,oclongint;
end;
             const 
zapisi:array[1..10of sports=
             ((
fa:'Ivanov'vz:18gr:54603oc:5),
             (
fa:'Rusakov'vz:20gr:53201oc:3),
             (
fa:'Kotov'vz:18gr:53032oc:3),
             (
fa:'Ivanov'vz:19gr:54403oc:1),
             (
fa:'Chernov'vz:21gr:53405oc:5),
             (
fa:'Sidorov'vz:21;gr:53426oc:2),
             (
fa:'Kozlov'vz:19gr:54890oc:4),
             (
fa:'Vasnecov'vz:22gr:54408oc:3),
             (
fa:'Shyits'vz:18gr:55305oc:4),
             (
fa:'Aksakov' vz:17gr:53076oc:5));
 var
 
Sr,vzmin:real;
 
i,j,o:byte;
 
 
begin
  writeln
('список студентов');
  
writeln('|фамилия|возраст|№ студенческого билета|средний бал|');
  for 
i:=1 to 10 do
  
with zapisi[i]do
  
writeln('|',fa:15,'|',vz:5,'|',gr:8,'|',oc:3,'|');
  
writeln;
 
  
writeln;
  
writeln('Средний бал <4');
  
writeln('|фамилия|возраст|№ студенческого билета|средний бал|');
  for 
i:=1 to 10 do
  
with zapisi[i]do
  if (
zapisi[i].oc<4then begin
  writeln
('|',fa:15,'|',vz:5,'|',gr:8,'|',oc:3,'|');
 
end
зеленый1 вне форума Ответить с цитированием
Старый 16.02.2012, 11:04   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
вывести списки, упорядоченные по возрасту.
Код:
var zapisi:array[1..10] of sports=
             ((fa:'Ivanov'; vz:18; gr:54603; oc:5),
             (fa:'Rusakov'; vz:20; gr:53201; oc:3),
             (fa:'Kotov'; vz:18; gr:53032; oc:3),
             (fa:'Ivanov'; vz:19; gr:54403; oc:1),
             (fa:'Chernov'; vz:21; gr:53405; oc:5),
             (fa:'Sidorov'; vz:21;gr:53426; oc:2),
             (fa:'Kozlov'; vz:19; gr:54890; oc:4),
             (fa:'Vasnecov'; vz:22; gr:54408; oc:3),
             (fa:'Shyits'; vz:18; gr:55305; oc:4),
             (fa:'Aksakov'; vz:17; gr:53076; oc:5));
 Sr,vzmin:real;
 i,j,o,k:byte;
 zp:sports;
 bufChange:sports;
 Change:Boolean;
Begin
     k:=10;
   Repeat
     Change:=false;
     for i := 1 to k-1 do
     if (zapisi[i].vz < zapisi[i+1].vz) then
     Begin
       bufChange:=zapisi[i];
       zapisi[i]:=zapisi[i+1];
       zapisi[i+1]:=bufChange;
       Change:=true;
     End;
     dec(k)
   Until Not Change;
  writeln('|fam       |age  | № stud| sred ball|');
  for i:=1 to 10 do
  with zapisi[i]do
  writeln('|',fa:10,'|',vz:5,'|',gr:8,'|',oc:7,'  |');
  writeln;
End.
Цитата:
найти студента, билет которого зарегистрирован раньше других.
Код:
Var
   mins:LongInt;
   i,j:Byte;
Begin
   mins:=high(LongInt);
  for i := 1 to 10 do
  Begin
    if zapisi[i].gr < mins then
    Begin
      mins:=zapisi[i].gr;
      j:=i;
    End;
  End;
  Writeln(zapisi[j].fa);
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 16.02.2012, 11:20   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
найти студента, билет которого зарегистрирован раньше других.
Цитата:
Код:
   mins:=high(LongInt);
  for i := 1 to 10 do
ну, я бы иницилизацию сделал значением из массива, это и проще и более надёжно, и более гибко. да и переменная mins не нужна:
Код:
  j:=1;
  for i := 2 to 10 do
    if zapisi[i].gr < zapisi[j].gr then
         j:=i;
  Writeln(zapisi[j].fa);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.02.2012, 13:22   #4
зеленый1
Новичок
Джуниор
 
Регистрация: 16.02.2012
Сообщений: 2
Хорошо

Огромное спасибо, за уделенное время моей темене:......!!!
зеленый1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать масив и прочие операции над ним fReeEeESe Помощь студентам 4 02.12.2011 19:48
Двумерный массив, и действие над ним... Neksion Помощь студентам 9 01.12.2010 10:11
Создание виртуального ландшафта и интерактивного полета над ним. Иван Мещеряков Помощь студентам 2 20.12.2009 12:08
GroupBox обьекты над ним KoBRaAndrey Общие вопросы Delphi 5 30.10.2009 12:43