![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
AlexPS |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
А кто-нибудь знает, как написать такую прогу?
Дана текстовая строка из 50 символов. Найти кол-во и месторасположения одинаковых цепочек символов. (цепочка символов - набор символов между пробелеми) -------------------- @13][ P.$.
www.alex-ps.com |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
AlexPS
А почему Дельфи? Это нужно с визуализацией? |
AlexPS |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну, вообще можно и без. :p2:
-------------------- @13][ P.$.
www.alex-ps.com |
AlexPS |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что, ваще никто не знает, как это сделать???
-------------------- @13][ P.$.
www.alex-ps.com |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
AlexPS
Ну и сколько раз повторять - поиск на что? разбей строку на слова (или цепочки, как ты их называешь), при помощи вот этой функции, а потом проверяй слова на равенство... |
AlexPS |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если бы вы знали, как я ненавижу поиск!!!!
-------------------- @13][ P.$.
www.alex-ps.com |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
AlexPS
Решений "на блюдечке" не будет... ![]() |
AlexPS |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
Все это конечно круто, но зацените, как я это замутил!!! Правда, наверное столько лишних действий.
![]() Код {Дана текстовая строка из 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 |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
AlexPS
Для дельфи на форуме есть специальный раздел... |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 15:05 |