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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2009, 21:55   #1
Sanchez71
Новичок
Джуниор
 
Регистрация: 15.04.2009
Сообщений: 1
По умолчанию Тип запись

Помогите пожалуйста составить программу! задание такое:Описать переменную "студент" (см. Вариант 4). Создать список студентов (N>10). Определить названия учебных заведений в которых учатся однофамильцы и если у них одинаковые имена, то сообщить,что они тезки.
Я уже описал переменную студент в процедуре,подскажите как доделать программу с использованием процедур.
program ya;
const max=11;
type Student = Record
FirstName:String[32];
SecondName:String[32];
SurName:String[32];
Group:String[32];
Institution:String[32];
end;
StudentList=record
Student_Array:Array[1..max] of Student;
n:integer;
end;
var Students:StudentList;

procedure InputData(var TStudent:StudentList);
var n,i:integer;
begin
repeat
writeln('Enter number students: ');
readln(n);
if (n<=0) or (n>max) then
writeln('Error,please try again ');
until(n>0)and(n<=max);
for i:=1 to n do begin
writeln('Enter firstname',i,' ');
readln(TStudent.Student_Array[i].FirstName);
writeln('Enter secondname',i,' ');
readln(TStudent.Student_Array[i].SecondName);
writeln('Enter surname',i,' ');
readln(TStudent.Student_Array[i].SurName);
writeln('Enter group ',i,' ');
readln(TStudent.Student_Array[i].Group);
writeln('Enter institution',i,' ');
readln(TStudent.Student_Array[i].Institution);
end;
end;
Sanchez71 вне форума Ответить с цитированием
Старый 16.05.2010, 19:06   #2
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию

Program St;
uses crt;
const m=10;
type Stud=record
f,i,vuz:string[30];
end;
StudentsList=record
a:array[1..100] of Stud;
k:integer;
end;

Procedure InputStudent(var Student:Stud);
begin
Write('Фамилия студента : ');
ReadLn(Student.f);
write('Имя студента: ');
ReadLn(Student.i);
Write('Название института : ');
ReadLn(Student.vuz);
end;

Procedure InputStudentsList(var Students:StudentsList);
var i:integer;
begin
WriteLn('Введите информацию о студентах: ');
repeat
Write('Введите количество студентов не больше ',m,': ');
ReadLn(Students.k);
until (Students.k>=1) and (Students.k<=m);
for i:=1 to Students.k do
InputStudent(Students.a[i]);
end;

Procedure Poisk(Students:StudentsList; var s:array of integer);
var i,j:integer;
begin
WriteLn;
WriteLn('Фамилии студентов: ');
s[0]:=0;
for i:=1 to (Students.k-1) do
for j:=(i+1) to Students.k do
if (Students.a[i].f=Students.a[j].f) then
begin
s[2*s[0]+1]:=i;
s[2*s[0]+2]:=j;
s[0]:=s[0]+1;
end;
end;

Procedure Print(Students:StudentsList; s:array of integer);
var i:integer; var n:real;
begin
if s[0]=0 then
writeln ('Таких студентов нет’)
else
for i:=0 to (s[0]-1) do
begin
writeln('Пара номер ',i+1);
writeln('Название института первого студента: ',students.a[2*i+1].vuz);
writeln('Название института второго студента :',students.a[2*i+2].vuz);
if students.a[2*i+1].i=students.a[2*i+2].i then
writeln('Они тёзки');
end;
end;

var Students:StudentsList;
s:array [0..100] of integer;

begin
clrscr;
InputStudentsList(Students);
Poisk(Students,s);
Print(Students,s);
readln;
end.
Роза!!! вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тип запись tanek Помощь студентам 9 23.03.2009 19:56
Pascal. Тип запись d_b Помощь студентам 9 02.03.2009 08:46
задача на тип-ЗАПИСЬ Fornarina Помощь студентам 1 01.03.2009 11:00
тип запись связист Помощь студентам 5 13.12.2006 08:59