Тема: Записи в Pascal(Record)
Завдання:
Ввести інформацію про групу студентів(прізвище,ініціали,набір предметів).
Набір предметів це масив який містить інформацію про назву предмету та оцінку(лише одну) з даного предмету.
Кожен учень може містити різну кількість предметів.
Вивести на екран табличку з інформацією про студентів,предметів які вони вивчають,та оцінку з кожного предмету.
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
type
  Subject=record
    NofS:string; //name of the subject(предмет)
    ANote:real; //mark(оцінка)
  end;
  Student=record
  SName:string;     //(прізвише студента)
  Initials:string; //(П.І.Б)
  Sub:array[1..10] of subject;//(предмет,який вивчає даний студент)
  end;
var
  S:array[1..25] of student;
  n,i:integer;
begin
Write('Enter count of students=');//(кількість студентів)
Readln(n);
for i := 1 to n  do//(цикл введення даних)
   begin
    write('Student ',i,' has surname= ');
    readln(S[i].SName);
    write('initials of the ',S[i].SName,'= ');
    readln(S[i].Initials);
    Write(S[i].SName,' Studying subject= ');
     readln(S[i].Sub[i].NofS);
     Write(' and has the following marks=');
    readln(S[i].Sub[i].ANote);
    end;
for i := 1 to n  do//(цикл виведення даних)
  begin
  with S[i] do
    writeln(Sname,' ',Initials,' ',Sub[i].NofS,' ',Sub[i].ANote:0:2);
end;
readln;
readln;
end. Проблема:
Як кожному студенту надати певну кількість предметів.
Пробував ввести цикл:
begin
Write('Enter count of students');//(кількість студентів)
Readln(n);
for i := 1 to n  do//(цикл введення даних)
   begin
    write('Student ',i,' has surname= ');
    readln(S[i].SName);
    write('initials of the ',S[i].SName,'= ');
    readln(S[i].Initials);
    Writeln('Count of subjects=');
    Readln(a); for b :=1 to a do
                 begin
    Write(S[i].SName,' Studying subject= ');
     readln(S[i].Sub[i].NofS);
     Write(' and has the following marks=');
    readln(S[i].Sub[i].ANote);
    end;
   end;
for i := 1 to n  do//(цикл виведення даних)
  begin
  with S[i] do
    writeln(Sname,' ',Initials,' ',Sub[i].NofS,' ',Sub[i].ANote:0:2);
end;
readln;
readln;
end.Але програма запам'ятовує лише останній предмет.
Дякую.


