Помогите, пожалуйста найти ошибки в решении.
Сама задача:
В целочисленном массиве L(n) найти наиболее длинную цепочку одинаковых подряд стоящих элементов.
Моё решение (Правильный ответ не выдаёт, почему не понимаю):
uses crt;
var a: array [1..100] of integer;
n, i, Max, Nb, FElem:integer;
begin
clrscr;
writeln('Enter size of array');
readln(n);
Max:=0;
Nb:=0;
for i:=1 to n do
begin
write('[',i,']= ');
readln(a[i])
end;
for i:=2 to n do
begin
if a[i-1] = a[i] then
inc(Nb)
else
begin
if Max < Nb then
begin
Max:= Nb;
FElem:=i - Max;
end;
Nb:=1;
end;
end;
if (a[1]=a[2]) and (FElem=2)
then begin Nb:=Nb+1; Max:= Nb+1; FElem:=1 end;
for i:=FElem to FElem + Max - 1 do
write(a[i],' ');
readln;
end.
А ещё есть такая задача: Куб состоит из n^3 прозрачных и непрозрачных элементарных кубиков. Имеется ли хотя бы один просвет по каждому из трех измерений? Если это так, вывести координаты каждого просвета
Я так понимаю, что здесь надо рандомно выделять 6 массивов, заполненных единицами и нулями, и как-то эти нули сопоставлять, но я не могу понять, как это сделать.
Кому не сложно, помогите пожалуйста, если не в решении, то хотя бы в понимании. (Можно ещё на си/си++)