End;
{------------------------------------------}
Procedure Search; {описание процедуры поиска решения задачи}
Begin
i:=1; Flag:=FALSE;
While (i<=N) and not Flag do {цикл по игрокам Спартака}
Begin
j:=1;
While (j<=M) and not Flag do {цикл по игрокам Зенита}
If Spart[i]=Zenit[j] then Flag:=TRUE else j:=j+1;
i:=i+1
end;
End;
{------------------------------------------------------------}
Procedure OutResult; {описание процедуры вывода результата}
Begin
Write('О т в е т : в командах Спартак и Зенит ');
If Flag then Write('есть игроки ') else Write('нет игроков ');
WriteLn('одинакового роста.');
ReadLn
End;
{------------------------------------------}
BEGIN ClrScr; {вызов процедур}
Input(1, N, Spart); {ввод данных для первой команды}
Input(2, M, Zenit); {ввод данных для второй команды}
Search; {поиск решения задачи}
OutResult {вывод результата}
END.
QBasic
CLS
INPUT "Введите количество игроков команды Спартак : " , N
DIM Spart(N)
PRINT "Введите роста игроков:"
FOR i = 1 TO N
PRINT i ; " игрок - " ; : INPUT Spart(i)
NEXT i
INPUT "Введите количество игроков команды Зенит : " , M
DIM Zenit(M)
PRINT "Введите роста игроков:"
FOR i = 1 TO M
PRINT i ; " игрок - " ; : INPUT Zenit(i)
NEXT i
i = 1 : Flag = 0
WHILE (i <= N) AND (Flag = 0) 'цикл по игрокам Спартака
j = 1
WHILE (j <= M) AND (Flag = 0) 'цикл по игрокам Зенита
IF Spart(i) = Zenit(j) THEN Flag = 1 ELSE j = j + 1
WEND
i = i + 1
WEND
PRINT "О т в е т : в командах Спартак и Зенит ";
IF Flag = 1 THEN PRINT "есть игроки "; ELSE PRINT "нет игроков ";
PRINT "одинакового роста."
END
Пример 5.4. Из партии шин отобрать две шины, диаметры которых отличаются не более, чем на D см, а вес — не более, чем на W грамм.