Цитата:
Сообщение от Tusha-kutusha
2.Смысл данной задачи ( и не только этой) мне самому непонятен
|
Значит так. Всё, чем могу помочь - это выдать программу решения задачи, как я ее (задачу) понимаю. А понимаю я ее так: Ввести N чисел. Проверить, является ли введенный массив перестановкой членов натурального ряда от 1 до N. Если это не то, ну что же - выясняйте, будем разбираться.
Задачу я решал так.
1. Вводится массив.
2. Проверяется, нет ли среди членов массива чисел, меньших 1 или бОльших N. Если есть - ответ отрицательный.
3. Проверяется, нет ли среди членов массива равных чисел. Если есть - ответ отрицательный.
4. При невыполнении условий п. 2 и 3 ответ положительный.
Код:
CONST
N=10;
VAR
A:ARRAY[1..N] of BYTE;
i,j:INTEGER;
b:Boolean;
BEGIN
For i:=1 to N do
begin
Write('A[',i:2,']= ');
ReadLn(A[i]);
end;
WriteLn;
b:=true;
For i:=1 to N do
If (A[i]<=0) or (A[i]>N) then b:=false;
If b then
begin
For i:=1 to N-1 do
For j:=i+1 to N do
If A[i]=A[j] then b:=false;
end;
If b then
WriteLn('The array is a permutation')
else
WriteLn('The array is not a permutation');
ReadLn;
END.