Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как определить есть ли в массиве 5 подряд символов


Автор: Alex103 16.2.2007, 02:46
Есть такая проблемма у меня есть массив

Код

a:array [1..n]of char=(' ', 'E', 'E', 'E', 'E', 'E', ' ', 'A', 'B', 'C');


В этом массиве нужно определить есть ли в нем последовательность из 5 E или нет

Вот я попробывал реализовать это но не получилось, проблемма в том что все что стоит после else выписывает много раз 

Код

for i:=1 to n do begin
if (A[i]='E') and (A[i+1]='E') and (A[i+2]='E') and(A[i+3]='E') and(A[i+4]='E') then
writeln('DA') else writeln('NET');
end;


Помогите разобраться

Автор: ~FoX~ 16.2.2007, 08:42
Код

const
  a:array [1..10] of char=(' ', 'E', 'E', 'E', 'E', 'E', ' ', 'A', 'B', 'C');
var
  s: string;
begin
  s := a;
  if Pos('EEEEE', s) <> 0 then writeln('DA') else writeln('NET');
end;

Автор: Rodman 16.2.2007, 09:32
Код

count:=0;
for i:=1 to n do 
begin
   if (A[i]='E') then
         inc(count)
   else
        count:=0;
   if(count=5)then
      writeln('DA') 
    else 
       writeln('NET');
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)