Вы не указали как хранятся данные о студентах и как осуществляется ввод. Попробуйте так, хотя я уже давно в Паскале не писала.
program pr1;
procedure CreateMass(var str:mass; n:integer); var i:integer; begin for i:=1 to n do begin write('Введите имя учащегося: '); readln(str[i]) end end;
procedure SearchN (str:mass; n:integer); var i, j, s1, s2:integer; b:boolean; begin b:=false; j:=1; while (j <= (n-1)) and (not b) do begin for i:=j+1 to n do begin if str[j]=str[i] then begin b:=true; s1:=i; s2:=j end end; j:=j+1 end; if (not b) then writeln('Нет двух студентов с одинаковыми именами.') else writeln('Студенты с одинаковыми именами - ',str[s1], ' находятся в массиве под номерами ', s1, ' и ', s2, '.') end;
type mass = array [1..n] of string; const n = 10; var str:mass; begin CreateMass(str, n); SearchN(str, n) end.
Вы не указали как хранятся данные о студентах и как осуществляется ввод. Попробуйте так, хотя я уже давно в Паскале не писала.
program pr1;
procedure CreateMass(var str:mass; n:integer);
var i:integer;
begin
for i:=1 to n do begin
write('Введите имя учащегося: ');
readln(str[i])
end
end;
procedure SearchN (str:mass; n:integer);
var i, j, s1, s2:integer;
b:boolean;
begin
b:=false;
j:=1;
while (j <= (n-1)) and (not b) do
begin
for i:=j+1 to n do
begin
if str[j]=str[i] then
begin
b:=true;
s1:=i;
s2:=j
end
end;
j:=j+1
end;
if (not b) then writeln('Нет двух студентов с одинаковыми именами.') else
writeln('Студенты с одинаковыми именами - ',str[s1], ' находятся в массиве под номерами ', s1, ' и ', s2, '.')
end;
type mass = array [1..n] of string;
const n = 10;
var str:mass;
begin
CreateMass(str, n);
SearchN(str, n)
end.