Консультация № 200359
02.03.2021, 04:52
0.00 руб.
0 7 1
Здравствуйте! Прошу помощи в следующем вопросе: Дано слово EDIT. Задавать количество подряд стоящих букв в другой EDIT. Определить порядковые номера первой пары и последней пары одинаковых соседних символов, и какие это символы. Если таких символов нет, то должно быть напечатано соответствующее сообщение. Если подряд стоит более двух одинаковых символов, то такие символы не считать за пару. Delphi Оконное (с формой), строковые величины.

Обсуждение

давно
Профессор
401888
1232
02.03.2021, 05:49
общий
02.03.2021, 05:50
Адресаты:
Это
Дано слово EDIT. Задавать количество подряд стоящих букв в другой EDIT

мне напрмер совершенно непонятно. Приведите полное и точное условие задачи .
давно
Посетитель
404834
7
02.03.2021, 06:13
общий
02.03.2021, 06:17
Цитата: puporev
Дано слово в компоненте EDIT. Задать количество подряд стоящих букв в другом компоненте EDIT. Определить порядковые номера первой пары и последней пары одинаковых соседних символов, и какие это символы. Если таких символов нет, то должно быть напечатано соответствующее сообщение. Если подряд стоит более двух одинаковых символов, то такие символы не считать за пару.
Об авторе:
Серёга Мичурин (мичуган)
давно
Профессор
401888
1232
02.03.2021, 06:42
общий
Адресаты:
Задать количество подряд стоящих букв

Ну введу я в Эдит2 число 10, и что?
давно
Посетитель
404834
7
02.03.2021, 06:50
общий
Цитата: puporev
Значит какая-то буква будет на 10 месте, это всё условие задачи
Об авторе:
Серёга Мичурин (мичуган)
давно
Профессор
401888
1232
02.03.2021, 06:59
общий
Адресаты:
Извините, видимо туповат я для общения с Вами.
давно
Посетитель
404834
7
02.03.2021, 08:07
общий
Цитата: puporev
Ввести слово в Edit1 с повторяющимися подряд стоящими буквами к примеру слово «програММа», найти стоящие буквы рядом и вывести их в Edit2 под номером 7,8 т.к в этом слове они находятся именно на этих позициях
Об авторе:
Серёга Мичурин (мичуган)
давно
Старший Модератор
31795
6196
03.03.2021, 11:41
общий
это ответ
Здравствуйте, Vajik!

Код Lazarus[code lang=pascal h=300]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. [/code]

Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа