IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Текстовая строка, Одинаковые цепочки в текстовой строке
AlexPS
сообщение 5.12.2004 19:30
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  -1  +


А кто-нибудь знает, как написать такую прогу?
Дана текстовая строка из 50 символов. Найти кол-во и месторасположения
одинаковых цепочек символов.
(цепочка символов - набор символов между пробелеми)


--------------------
@13][ P.$.
www.alex-ps.com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
volvo
сообщение 5.12.2004 19:34
Сообщение #2


Гость






AlexPS
А почему Дельфи? Это нужно с визуализацией?
 К началу страницы 
+ Ответить 
AlexPS
сообщение 5.12.2004 19:37
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  -1  +


Ну, вообще можно и без. :p2:


--------------------
@13][ P.$.
www.alex-ps.com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AlexPS
сообщение 13.12.2004 17:32
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  -1  +


Что, ваще никто не знает, как это сделать???


--------------------
@13][ P.$.
www.alex-ps.com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.12.2004 17:42
Сообщение #5


Гость






AlexPS
Ну и сколько раз повторять - поиск на что? разбей строку на слова (или цепочки, как ты их называешь), при помощи вот этой функции, а потом проверяй слова на равенство...
 К началу страницы 
+ Ответить 
AlexPS
сообщение 14.12.2004 19:27
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  -1  +


Если бы вы знали, как я ненавижу поиск!!!!


--------------------
@13][ P.$.
www.alex-ps.com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.12.2004 19:32
Сообщение #7


Гость






AlexPS
Решений "на блюдечке" не будет... angry.gif
 К началу страницы 
+ Ответить 
AlexPS
сообщение 15.12.2004 21:20
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  -1  +


Все это конечно круто, но зацените, как я это замутил!!! Правда, наверное столько лишних действий. smile.gif

Код

{Дана текстовая строка из 50 символов. Найти кол-во и месторасположения
одинаковых цепочек символов. Цепочка символов - набор символов между
пробелами.}
unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Button1: TButton;
   Memo1: TMemo;
   procedure FormCreate(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

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

procedure TForm1.Button1Click(Sender: TObject);
label 10,20;
var
st: string [50];
nom: array [1..25] of integer;
mesta: array [0..25] of integer;
slova: array[1..4, 1..25] of string[25];
pr: array [1..26] of boolean;
i,j,kolvos,p,kolod: integer;
begin
st:=Edit1.Text;
kolvos:=0;
p:=1;
i:=1;
for i:=1 to 4 do
begin
for j:=1 to 25 do slova[i,j]:='';
end;
for j:=1 to 25 do nom[j]:=0;
for j:=1 to 25 do mesta[j]:=0;
for i:=1 to 50 do
begin
if st[i]=' ' then
begin
 kolvos:=kolvos+1;
 for j:=p to i-1 do slova[1,kolvos]:=slova[1,kolvos]+st[j];
 slova[2,kolvos]:=IntToStr(p);
 slova[3,kolvos]:=IntToStr(0);
 slova[4,kolvos]:=IntToStr(1);
 p:=i+1;
end;
end;
kolvos:=kolvos+1;
 for j:=p to 50 do slova[1,kolvos]:=slova[1,kolvos]+st[j];
 slova[2,kolvos]:=IntToStr(p);
 slova[3,kolvos]:=IntToStr(0);
 slova[4,kolvos]:=IntToStr(1);
kolod:=0;

for i:=1 to 26 do pr[i]:=false;

for i:=1 to kolvos do
begin
if slova[3,i]='1' then goto 20;
for j:=i+1 to kolvos do
 begin
  if slova[1,i]=slova[1,j] then
  begin
   if slova[3,j]='1' then goto 10;
   if slova[4,i]='1' then
     begin
      slova[4,i]:='0';
      kolod:=kolod+1;
     end;
   kolod:=kolod+1;
   slova[3,j]:=IntToStr(1);
   pr[i]:=true;
  end;
10: end;
20: end;

Memo1.Lines.Add(IntToStr(kolod));
Memo1.Lines.Add('Месторасположения одинаковых цепочек');
for i:=1 to 26 do
begin
if (slova[3,i]='1') or (slova[4,i]='0') then
Memo1.Lines.Add(slova[2,i]);
end;
end;

end.


Вот так. :thanks:


--------------------
@13][ P.$.
www.alex-ps.com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.12.2004 21:28
Сообщение #9


Гость






AlexPS
Для дельфи на форуме есть специальный раздел...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 15:05
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"