Program MyTyres;
Uses Crt;
Type Mas = Array [1..100] of Real;
Var
Number, i, j : Integer; { Number - количество шин }
Diameter, Weight : Mas; { массивы параметров шин }
First, Second : Integer; { номера отобранных шин }
Flag : Boolean;
D, W : Real; {D, W - допуски по параметрам}
{-------------------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода данных}
Begin
ClrScr;
Write('Количество шин : '); ReadLn(Number);
WriteLn('Параметры шин : ');
For i := 1 to Number do
begin
Write(i, '-ая шина: Диаметр - '); ReadLn(Diameter[i]);
Write(' Вес - '); ReadLn(Weight[i])
end; WriteLn;
Write('Допуск по диаметру : '); ReadLn(D);
Write('Допуск по весу : '); ReadLn(W);
WriteLn; WriteLn(' Пapаметры шин ');
WriteLn('N шины Диаметр Вес');
For i := 1 to Number do
WriteLn(i:4, Diameter[i]:10:1, Weight[i]:10:1);
WriteLn
End; { of InputOutput }
{----------------------------------------------------------}
Procedure YesNo(Var First, Second : Integer; Var Flag : Boolean);
Begin {описание процедуры поиска решения задачи}
i:=1; Flag := FALSE;
While (i<=Number-1) and not Flag do {цикл по первой шине из пары}
begin
j := i+1;
While (j<=Number) and not Flag do {цикл по второй шине из пары}
If (Abs(Diameter[i]-Diameter[j]) <= D)
and (Abs(Weight[i]-Weight[j]) <= W)
then begin Flag:=TRUE; First:=i; Second:=j end
else j := j+1;
i:=i+1
end;
End; {of YesNo }
{----------------------------------------------------------}
BEGIN
InputOutput; {Вызов процедуры ввода-вывода исходных данных}
YesNo(First, Second, Flag);{Вызов процедуры поиска решения задачи}
WriteLn('О т в е т :');
If Flag then WriteLn('По параметрам подходят друг другу ',
First, '-ая и ', Second, '-ая шины.')
else WriteLn('Шин, подходящих друг другу, в партии нет.');
ReadLn
END.
Похожие записи/страницы:
- Из партии шин отобрать две шины, диаметры которых отличаются не более, чем на D см, а вес — не более, чем на W…
- Выяснить, есть ли в баскетбольных командах "Спартак" и "Зенит" игроки одинакового роста - Pascal(Паскаль)
- Выяснить, есть ли в баскетбольных командах "Спартак" и "Зенит" игроки одинакового роста - Pascal(Паскаль)
- Определить количество слов в заданном тексте - Pascal(Паскаль)
- В заданной целочисленной матрице A(N, M) найти количество строк, содержащих нули - Pascal(Паскаль)
- Найти произведение цифр заданного четырехзначного числа - Pascal(Паскаль)
- Определить, имеется ли в заданном целочисленном массиве A(N) хотя бы одна пара совпадающих по значению чисел -…
- Дана матрица A(N, N). Если хотя бы один элемент строки матрицы отрицателен, то все элементы этой строки заменить…