Решение перебором АДЛТДТАТ
Объяснение:
Для начала можно понять, что первая точка и продолжение подходит только для буквы А и в итоге остаётся: -...-..--..-.--, дальше у нас 2 варианта:
1) АД.-..--..-.-- >> 1 - АДА..--..-.-- 2 - АДЛ--..-.--
2)АТ...-..--..-.-- >> АТЖ..--..-.--
Продолжаем перебирать:
1) АДА..--..-.-- больше нельзя продолжить т.к букв из 2 точек вначале нету.
2) АДЛ--..-.-- >> АДЛТ-..-.-- >> 1)АДЛТД-.-- 2)АДЛТТ..-.--
3) АТЖ..--..-.-- >> нельзя продолжить из за двух точек.
Продолжаем:
1)АДЛТД-.-- >> АДЛТДТАТ - это ответ
2)АДЛТТ..-.-- нельзя продолжить из за двух точек.
var a:array[1..n] of integer;
i,k1,k2:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i],' ');
end;
writeln;
k1:=n;
while (k1>0)and(a[k1]>=0) do k1:=k1-1;
k2:=k1-1;
while (k2>0)and(a[k2]>=0) do k2:=k2-1;
if (k1<>0)and(k2<>0)
then writeln(k1-k2-1) else writeln('В массиве нет 2 отрицательных элементов');
end.
Пример:
Исходный массив:
9 0 2 7 -6 9 2 3 -4 10
3