{ Пример 5.3. Выяснить, есть ли в баскетбольных командах
"Спартак" и "Зенит" игроки одинакового роста.
Система тестов
Обозначения:
N - количество игроков в команде "Спартак";
M - количество игроков в команде "Зенит";
S(N) - массив ростов игроков команды "Спартак";
Z(M) - массив ростов игроков команды "Зенит".
╔═════╤══════╤══════════════════════════════════════════╤═══════════╗
║ │ │ Данные │ ║
║Номер│Прове-├───────────────────┬──────────────────────┤ ║
║теста│ряемый│ "Спартак" │ "Зенит" │ Результат ║
║ │случай├───┬───────────────┼───┬──────────────────┤ ║
║ │ │ N │ S(N) │ M │ Z(M) │ ║
╟─────┼──────┼───┼───────────────┼───┼──────────────────┼───────────╢
║ 1 │ Есть │ 3 │S(200,195,205) │ 4 │Z(198,200,206,192)│ "Есть" ║
╟─────┼──────┼───┼───────────────┼───┼──────────────────┼───────────╢
║ 2 │ Нет │ 2 │S(200,196) │ 2 │Z(198,201) │ "Нет" ║
╚═════╧══════╧═══╧═══════════════╧═══╧══════════════════╧═══════════╝
}
Program EqualHeight;
Uses Crt;
Type Mas = Array [1..20] of Integer;
Var
Spart, Zenit : Mas; { массивы ростов игроков }
N, M, i, j : Integer; { N - к-во игроков "Спартака", M - "Зенита" }
Flag : Boolean;
Name : String; { имя команды }
{------------------------------------------}
Procedure Input(NCommand : Integer; Var Number : Integer; Var Rost:Mas);
{ NCommand - номер команды (равен 1 или 2) }
Begin { описание процедуры ввода данных по команде }
If NCommand=1 then Name:='Спартак' else Name:='Зенит';
Write('Введите количество игроков команды ', Name, ': ');
ReadLn(Number);
WriteLn('Введите роста игроков:');
For i := 1 to Number do
begin Write(i, ' игрок - '); ReadLn(Rost[i]) end;
WriteLn
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.
Похожие записи/страницы:
- Выяснить, есть ли в баскетбольных командах "Спартак" и "Зенит" игроки одинакового роста - Pascal(Паскаль)
- Ввод, обработка и сортировка двумерного массива - Pascal(Паскаль)
- Даны сведения о количестве забитых голов каждого футболиста команды в каждом из матчей чемпионата. Проверьте,…
- Определить, имеется ли в заданном целочисленном массиве A(N) хотя бы одна пара совпадающих по значению чисел -…
- Из партии шин отобрать две шины, диаметры которых отличаются не более, чем на D см, а вес — не более, чем на W…
- Дана целочисленная матрица A(N, N). Определить, имеются ли среди её элементов, лежащих ниже главной диагонали,…
- Определить, имеется ли среди элементов главной диагонали заданной целочисленной матрицы A(N, N) хотя бы один…
- Включить заданное число D в массив A(N), упорядоченный по возрастанию, с сохранением упорядоченности - Pascal(Паскаль)