Показать сообщение отдельно

  #4  
Старый 09.12.2008, 01:52
P3L3NG
Banned
Регистрация: 04.06.2008
Сообщений: 402
Провел на форуме:
2267346

Репутация: 719
По умолчанию

ВОПРОС №3

Входные строки представляют собой последовательности слов, разделенных пробелами, запятыми, табуляциями или границами строк. В соответствии с вариантом задания составить Пас-каль-программу проверки характеристик введённых последовательностей слов и печати развёрну-того ответа. Тестирование проводить не менее чем на трёх строках вплоть до конца входного фай-ла. В качестве алфавита берется один из европейских алфавитов, соответствующих заданию (рус-ский, английский, ...).

Само задание: Есть ли слово, хотя бы одна согласная которого повторяется?

вот что набросал, всвязи с последними событиями не успеваю отладить

Код:
program laba8;
uses crt;
label konec;
Var
  i, n, k, x, od, symb:Integer;
  {n - kolvo probelov}
  st, st2:String;
  a, b:Char;
  f:text;
  c: set of Char;
  m: Boolean;
  Dlina:array[1..100] of integer;
begin
  i:=0;
  n:=0;
  k:=0;
  od:=0;
  symb:=0;
  c:=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z',' ',','];
  write('BBedite put faila i ego imya - ');
  readln(st);
  assign(f, st);
  rewrite(f);
  write('Vvedite text: ');
  readln(st);
  st2:=st+' ';
  writeln(f, st2);
  reset(f);

{proverka korrektnosti  
  While not eof(f) Do
  begin
  read(f,a);
  m:=a in c;
  if m=False then writeln('v stroke est nekorrektnie simvoli');
  readkey;
  write('najmite anykey dlya zaversheniya programmi');
  GOTO konec;
  end;
  }
  
{kol-vo slov}
  While not eof(f) Do
    begin
     While not eoln(f) Do
       begin
        read(f,a);
        m:=a in c;
        If (a<>' ') and (a<>',') Then k:=k+1;
         
        If (a=' ') or (a=',') Then
           If k=0 Then
              begin
                n:=n+1;
                Dlina[n]:=k;
                k:=0;
              end;     
      end;
    readln(f);
   end;
writeln('dlini slov ',Dlina[1] ,'   ',Dlina[2] ,'   ',Dlina[3] ,'   ',Dlina[4] ,'   ');
writeln('probelov ',n);
readkey;
{proverka na odinakovost}
for k:=1 to n do
  for i:=1 to Dlina[n] do
      begin
      symb:= symb + Dlina[n];      
      reset(f);
        for x:=1 to symb do read(f);
          read(f,a);      
            for x:=1 to Dlina[n] do 
              begin
              read(f,b);
               if a=b then inc(od);
              end;
      end;
          
   
  Append(f);
  writeln(f);
  writeln(f, 'Kolichestvo slov, gde est odinak bukvi ravno: ', od);
  close(f);
  konec:
end.
 
Ответить с цитированием