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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 18:20   #1
patrol
Новичок
Джуниор
 
Регистрация: 06.12.2010
Сообщений: 2
Вопрос Проблема с кодом (Dephi)

Вот задание
На вход поступает последовательность из 0 и 1. Машина должна выдать 1, если не встречается комбинация 011 в данной последовательности и 0 – в противном случае. Пример 0001001. Машина выдает 1.
Не могу понять в чем дело не работает програмка как надо((она почему то каждой цифре присваевает цифру а нужно чтобы к строке, и не правильно как то присваивает)))А если даже и встречается комбинация 011 всеравно пишет 1-цы.



Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i:integer;
stroka,itogstr: string;
implementation

{$R *.dfm}


procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
stroka:=Edit1.text;
for i:=1 to length(form1.Edit1.text) do
begin
if pos('011',stroka[i])<>0then
begin
Memo1.Lines.Add('0');
end else
begin Memo1.Lines.Add('1');
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
end;

end.
end;

End.

Последний раз редактировалось patrol; 15.12.2010 в 18:31.
patrol вне форума Ответить с цитированием
Старый 15.12.2010, 18:50   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
if pos('011',stroka)<>0 then // не надо тут [i]
Код:
begin
Memo1.Clear;
stroka:=Edit1.text;
if pos('011',stroka)<>0 then
Memo1.Lines.Add('0') else Memo1.Lines.Add('1');
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 15.12.2010, 19:06   #3
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Да и цикл не нужен в вообще!
Ybn2 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с кодом сss kox HTML и CSS 2 07.10.2010 18:04
Проблема с кодом ( ItemListener ) LazyC0de Общие вопросы по Java, Java SE, Kotlin 1 03.09.2010 10:13
Проблема с кодом. scottie Паскаль, Turbo Pascal, PascalABC.NET 3 11.04.2010 15:44
Проблема с кодом по wav!!!!!!!!! dink10 Мультимедиа в Delphi 0 08.04.2010 14:17
Проблема с кодом( DM_bite Помощь студентам 3 02.08.2008 20:02