‘орум программистов, компьютерный форум, киберфорум
Ќаши страницы
Delphi дл€ начинающих
¬ойти
–егистраци€
¬осстановить пароль
 
–ейтинг 5.00/4: –ейтинг темы: голосов - 4, средн€€ оценка - 5.00
somber
0 / 0 / 0
–егистраци€: 19.12.2012
—ообщений: 35
1

¬з€ть номер символа из введенного текста, опира€сь на заданный алфавит

23.03.2014, 14:59. ѕросмотров 659. ќтветов 7
ћетки нет (¬се метки)

«драствуйте. ≈сть алфавит:
Delphi
1
 grph:array[0..32] of char = ('ј','Ѕ','¬',...,'Ё','ё','я');
ћогу вз€ть символ по номеру(индексу), но не знаю как вз€ть номер символа из введенного текста, опира€сь на заданный алфавит.
0
Ћучшие ответы (1)
Similar
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
23.03.2014, 14:59
ќтветы с готовыми решени€ми:

ќпределить пор€дковый номер введенного символа
«драствуйте.ѕомогите кому не т€жело.«адача така€: ¬вести любой символ и...

ќпределить номер строки и столбца из таблицы ASCII дл€ введенного символа
помогите плиз) 1.ќпределите номер строки и столбца основной кодовой таблицы...

«аменить в каждой строке текста символы, отличные от символа, введенного с клавиатуры, символом Ђ#ї
— помощью текстового редактора создать файл на диске, содержащий текст на...

”далить во всех строках заданного текста первые вхождени€ введенного пользователем символа
–азработать алгоритм и программу. ¬водитс€ последовательно N строк (1<=N<=20),...

—равнение текста в нескольких TextBox, опира€сь на эталон
ѕриветствую, друзь€.   делу. Ќа форме имеетс€ 20 текстбоксов, в которых,...

7
Puporev
ћодератор
55401 / 42537 / 29390
–егистраци€: 18.05.2008
—ообщений: 100,603
23.03.2014, 15:12 2
ѕроще алфавит держать в строке
Delphi
1
const grph:string[32] = 'јЅ¬...Ёёя';
тогда символ по номеру grph[i];
номер по символу pos(sm,grph);
1
somber
0 / 0 / 0
–егистраци€: 19.12.2012
—ообщений: 35
23.03.2014, 15:36  [“—] 3
ј как сделать, когда идешь по строке, например, вз€ть номера первых трех символов записать их, допустим в пременные или в мемо или листбокс, и дальше идти по строке?
Ќапример, : ѕ–»¬≈“ Ч>
ѕ – »
171810
¬ ≈ “
3 6 20. »нтересует больше как сделать чтобы он всю строку так обработал? ƒл€ этого функцию придетьс€ писать?
0
Puporev
ћодератор
55401 / 42537 / 29390
–егистраци€: 18.05.2008
—ообщений: 100,603
23.03.2014, 15:47 4
ћожно писать, можно нет.
я бы вз€л строку, если ее длина не кратна 3,добавил бы в конец что-то, типа пробелов.
Delphi
1
while length(s) mod 3<>0 do s;=s+' ';
ѕотом пошел по строке выбирать по 3 символа
Delphi
1
2
3
4
5
6
7
8
9
10
11
i:=1;
while i<=length(s)-2 do
 begin
  s1:=copy(s,i,3);
  Memo1.Lines.Add(s1);
  s2:='';
  for i:=1 to 3 do
  s2:=s2+inttostr(pos(s1[i],grph))+' ';
  Memo1.Lines.Add(s2);
  i:=i+3
 end;
ћожет где и ошибки, но суть така€
1
NIKOLAYY
820 / 718 / 339
–егистраци€: 22.09.2012
—ообщений: 4,995
23.03.2014, 18:49 5
somber,

«драствуйте. ≈сть алфавит: но не знаю как вз€ть номер символа из введенного текста
ћожно использовать массив такого типа:

Delphi
1
grph: array[Ord('ј')..Ord('я')] of Integer;
  которому потом можно будет обращатьс€ как по сиволам, так и по числам. ¬ некоторых случа€х он очень удобен, в некоторых нет. ≈сли нужно подсчитать например сколько каких символов то его удобно применить.
ѕример использовани€ € писал здесь:
¬вести текст. ќпределить, на какую букву оканчиваетс€ больше всего слов в тексте
1
somber
0 / 0 / 0
–егистраци€: 19.12.2012
—ообщений: 35
23.03.2014, 21:57  [“—] 6
»спользование массивов € пон€л, у мен€ запорка на прохождении строки: у каждых трех букв брать индексы и записывать их в 3 переменные или куда-нибудь(мемо,листбокс), например:
ѕ–»¬≈“  ј  ƒ≈Ћј Ч> удал€ем пробелы Ч> считываем индексы последовательно каждые 3 символаЧ>
17 18 10
3 6 20
12 1 12
5 6 13
1 0 0

Ќе получаетс€ вз€тие индексов у каждых трех букв последовательно до конца строки
0
Puporev
ћодератор
55401 / 42537 / 29390
–егистраци€: 18.05.2008
—ообщений: 100,603
24.03.2014, 07:40 7
Ћучший ответ —ообщение было отмечено SatanaXIII как решение

–ешение

я же написал
÷итата —ообщение от Puporev ѕосмотреть сообщение
ћожет где и ошибки,
посмотреть нужно было, 2 раза в цикле переменна€ i оказалась
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
const grph:string[32] = '√А√Б√В√Г√Д√Е√Ж√З√И√Й√К√Л√М√Н√О√П√Р√С√Т√У√Ф√Х√Ц√Ч√Ш√Щ√Ъ√Ы√Ь√Э√Ю√Я';
var s,s1,s2:string;
    i,j:integer;
begin
s:=Edit1.Text;
i:=1;
while i<=length(s)-2 do
 begin
  s1:=copy(s,i,3);
  Memo1.Lines.Add(s1);
  s2:='';
  for j:=1 to 3 do
  s2:=s2+inttostr(pos(s1[j],grph))+' ';
  Memo1.Lines.Add(s2);
  i:=i+3
 end;
end;
1
ћиниатюры
¬з€ть номер символа из введенного текста, опира€сь на заданный алфавит  
somber
0 / 0 / 0
–егистраци€: 19.12.2012
—ообщений: 35
24.03.2014, 12:38  [“—] 8
Ѕольшое спасибо
0
24.03.2014, 12:38
MoreAnswers
Ёксперт
37091 / 29110 / 5898
–егистраци€: 17.06.2006
—ообщений: 43,301
24.03.2014, 12:38

ѕолучить номер кодовой страницы и номер символа в этой кодовой странице дл€ каждого символа
¬от на этот раз € точно туда пишу. /* ѕредыстори€ */ ” мен€ есть некоторый...

Ќекоторый алфавит содержит четыре различных символа
Ќекоторый алфавит содержит четыре различных символа. —колько слов длиной ровно...

≈сли номер элемента массива равен ASCII-коду символа текста, инкрементировать элемент (файловый ввод/вывод)
задача с частотным анализом. создаю массив из 256 элементов, значени€ которых...


»скать еще темы с ответами

»ли воспользуйтесь поиском по форуму:
8
ќтвет —оздать тему
ќпции темы

 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
–ейтинг@Mail.ru