Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 19:58   #1
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
Печаль if не хочет работать, объясните почему!

В конце проги находю мой цикл if, вообщем прога должна выводить подконец только те слова в которых есть повторяющиеся буквы, но почемуто не работает и выводит все слова!!!


Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, Ruslib in 'RusLib.pas' ;

type
 mas=array[1..20] of string;
 mas_2=array[1..20,1..20] of string;
 mas_3=array[1..20] of string;
 mas_4=array[1..20,1..20] of string;
 Var
 a:mas;
 b:mas_2;
 h:mas_3;
 d:mas_4;
 i,j,x,z,k,p,f:Integer;
begin
i:=0;
x:=0;
Writeln('Введите желаемое кол-во слов.');
Writeln('Для завершения ввода нажмите "/stop"!!!');
{Ввод слов}
repeat
 begin
  i:=i+1;
  readln(a[i]);
  x:=x+1;
 end;
until (a[i]='/stop');
Writeln;
{Вывод слов}
 For i:=1 to x-1 do
  begin
   Write(a[i],'   ');
   z:=1;
   For j:=1 to Length(a) do
    begin
     b[i,j]:=Copy(a[i],z,1);
     d[i,j]:=b[i,j];
     z:=z+1;
     Write(b[i,j],'  ',d[i,j],'  ');
    end;
   Writeln;
  end;
   {}
   {}
   {}
  {Цикл поиска слов с повтрояющимися буква}
   For i:=1 to x-1 do
    begin
     For j:=1 to Length(a) do
      begin
       For p:=1 to Length(a) do
          begin

         If d[i,j]=b[i,p] then
            h[i]:=a[i];

            end;
      end;
    end;
      {}
      {}
      {}
         Writeln;
         {Вывод нужных слов}
    For i:=1 to x-1 do
    Write(h[i],'  ');
Readln;
end.
<----Весы Там.

Последний раз редактировалось Npwas; 13.12.2011 в 20:19.
Npwas вне форума Ответить с цитированием
Старый 13.12.2011, 22:12   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
 For i:=1 to x-1 do
  begin
   Write(a[i],'   ');
   z:=1;
   For j:=1 to Length(a) do
    begin
     b[i,j]:=Copy(a[i],z,1);
     d[i,j]:=b[i,j];
     z:=z+1;
     Write(b[i,j],'  ',d[i,j],'  ');  //b[i,j]=d[i,j],   зачем?
    end;
   Writeln;
  end;
   {}
   {}
   {}
  {Цикл поиска слов с повтрояющимися буква}
   For i:=1 to x-1 do
    begin
     For j:=1 to Length(a) do
      begin
       For p:=1 to Length(a) do
          begin

         If d[i,j]=b[i,p] then    //как уже писал b[i,j]=d[i,j], => выведуться все слова.
            h[i]:=a[i];

            end;
      end;
    end;
А вообще, я бы сделал через запись, где одно поле само слово, а второе булево, принемающее True когда есть повторяющиеся буквы.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 13.12.2011, 22:22   #3
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Запись, то не плохо звучит!!! Но по программе можно использовать только те темы которые прошли:массивы, строки, множества!!! Я тут и сам свою ошибку нашел!!! Вот ток не знаю как правильно здать так чтоб длинна строки ровнялась длинне букв в слове, а потом в For и тогда работать должно, как я понял оно из-за лишних пробелов после слов, у меня то бесконечная длинна строки!!!
<----Весы Там.
Npwas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
fabs() не хочет работать Razza Общие вопросы C/C++ 2 28.12.2010 02:21
Не хочет работать iif alco84 Microsoft Office Access 6 18.03.2010 09:48
Почему Программа не хочет работать strateg0793 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 21.01.2010 14:10
Простая Программа в DEV C++ не хочет работать! Почему? RomT24 Общие вопросы C/C++ 6 06.08.2009 17:25
Не хочет работать OpenPictureDialog guffer Общие вопросы Delphi 4 08.07.2009 20:14