![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Ребят, как посчитать количество символов в тексте? типа "а" = 31, "б" = 25 и тд.
|
#2
|
|||
|
|||
![]() Взять текст как строку и в цикле идти по ней как по массиву.
Тут скорее вопрос - какие символы тебе надо считать - английские, русские, различать большие или маленькие. В принципе, можно сделать массив из 256 элементов и считать в них по коду символа. Код:
type TSmb = Array [0..255] Of Integer; procedure SumSymbols(AText : String; var S : TSmb); var I : Integer; begin For I := 1 To Length(AText) Do Inc(S[Ord(AText[i])]); end; |
#3
|
|||
|
|||
![]() русский текст, нужно посчитать сколько раз символ встречается в тексте и составить их таблицу)
|
#4
|
|||
|
|||
![]() А, например, символы "А" и "а" счиются разными?
|
#5
|
|||
|
|||
![]() Если регистр не имеет значения и нужно считать только количество букв, не считая знаки препинания и т.д., отлично подойдет вот такой способ.
Код:
procedure CalculateSymbols(Text: string); var S: string; M: array ['а'..'я'] of Integer; I: Char; J: Integer; begin S := AnsiLowerCase(Text); for I := 'а' to 'я' do M[i] := 0; for J := 1 to Length(S) do Inc(M[S[J]]); for I := 'а' to 'я' do Writeln(I + ': ' + IntToStr(M[i])); end; |
#6
|
|||
|
|||
![]() спасибо) ща попробую
|
#7
|
||||
|
||||
![]() Код:
if S[J] in ['а'..'я'] then Inc(M[S[J]]); |