Родились сегодня:
vladymyrlem
antonovich


Лидеры рейтинга

ID: 226425

Konstantin Shvetski

Модератор

740

Россия, Северодвинск


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

322

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Академик

277

Россия, Санкт-Петербург


ID: 325460

CradleA

Мастер-Эксперт

210

Беларусь, Минск


ID: 137394

Megaloman

Мастер-Эксперт

129

Беларусь, Гомель


ID: 400815

alexleonsm

6-й класс

129


ID: 400669

epimkin

Профессионал

119


8.8.15

09.05.2021

JS: 2.8.21
CSS: 4.5.5
jQuery: 3.6.0
DataForLocalStorage: 2021-05-13 03:16:01-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 200359

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Важик (Посетитель)
Дата: 02.03.2021, 04:52 Консультация закрыта
Поступило ответов: 1

Здравствуйте! Прошу помощи в следующем вопросе: Дано слово EDIT. Задавать количество подряд стоящих букв в другой EDIT. Определить порядковые номера первой пары и последней пары одинаковых соседних символов, и какие это символы. Если таких символов нет, то должно быть напечатано соответствующее сообщение. Если подряд стоит более двух одинаковых символов, то такие символы не считать за пару. Delphi Оконное (с формой), строковые величины.

Здравствуйте, Vajik!

Код Lazarus
Код [Pascal]
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    procedure Edit1KeyPress(Sender: TObject; var Key: char);
    procedure FormCreate(Sender: TObject);
  private
    function Check(a:string):string;
  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }
function TForm1.Check(a:string):string;
  var
    b,c,d,e:integer;
  begin
    c:=0;d:=0;e:=0;a:=a+#2;
    for b:=1 to length(a)-1  do
      if a[b]=a[b+1]then
          if a[b]<>a[b+2] then
            begin
              inc(e);
              if c=0 then c:=b else d:=b;
            end
    else a[b+2]:=#1;
    case e of
      0:Check:='not found couple';
      1:Check:='only one couple, positions:='+IntToStr(c)+','+IntToStr(c+1)+' '+a[c]+a[c+1];
      else Check:=IntToStr(e)+' couples, first:='+IntToStr(c)+','+IntToStr(c+1)+' '+a[c]+a[c+1]+
        '  last:='+IntToStr(d)+','+IntToStr(d+1)+' '+a[d]+a[d+1];
    end;

  end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
  if Key=#13 then
    begin
      Edit1.ReadOnly:=True;
      Label1.Caption:=Check(Edit1.Text);
      Label1.Show;
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  label1.Hide;
end;

end.


Удачи!

Зенченко Константин Николаевич

Старший модератор
03.03.2021, 11:41
Мини-форум консультации # 200359

q_id

puporev

Профессор

ID: 401888

1

= общий =    02.03.2021, 05:49
Важик:

Это

Дано слово EDIT. Задавать количество подряд стоящих букв в другой EDIT


мне напрмер совершенно непонятно. Приведите полное и точное условие задачи .

Последнее редактирование 02.03.2021, 05:50 puporev (Профессор)

puporev

Важик

Посетитель

ID: 404834

2

= общий =    02.03.2021, 06:13

Дано слово в компоненте EDIT. Задать количество подряд стоящих букв в другом компоненте EDIT. Определить порядковые номера первой пары и последней пары одинаковых соседних символов, и какие это символы. Если таких символов нет, то должно быть напечатано соответствующее сообщение. Если подряд стоит более двух одинаковых символов, то такие символы не считать за пару.

puporev

Последнее редактирование 02.03.2021, 06:17 Важик (Посетитель)

=====
Серёга Мичурин (мичуган) smile

puporev

puporev

Профессор

ID: 401888

3

= общий =    02.03.2021, 06:42
Важик:

Задать количество подряд стоящих букв


Ну введу я в Эдит2 число 10, и что?

puporev

Важик

Посетитель

ID: 404834

4

= общий =    02.03.2021, 06:50

Значит какая-то буква будет на 10 месте, это всё условие задачи

puporev

=====
Серёга Мичурин (мичуган) smile

puporev

puporev

Профессор

ID: 401888

5

= общий =    02.03.2021, 06:59
Важик:

Извините, видимо туповат я для общения с Вами.

puporev

Важик

Посетитель

ID: 404834

6

= общий =    02.03.2021, 08:07

Ввести слово в Edit1 с повторяющимися подряд стоящими буквами к примеру слово «програММа», найти стоящие буквы рядом и вывести их в Edit2 под номером 7,8 т.к в этом слове они находятся именно на этих позициях

puporev

=====
Серёга Мичурин (мичуган) smile

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

Лучшие эксперты раздела

puporev

Профессор

Рейтинг: 110

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 72

Степанов Иван /REDDS

4-й класс

Рейтинг: 0

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0