Отдельно посчитать количество символов

  • Автор темы anastasia
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

anastasia

Гость
#1
Привет всем!
У меня такой вопросик.
В строке StringGrid нужно посчитать количество символов «т». При том отдельно. Т.е. если, например, сначала идет пять символов «т», а затем какие-либо другие символы или пустота, далее опять идет какое-то количество символов «т», то первую последовательность и вторую нужно посчитать отдельно, а остальные символы в расчет не брать, т.е. попросту не считать.
Таким образом, нужно запомнить первое количество символов «т» в одну переменную, а второе количество символов «т» во вторую переменную.
 
P

Poseidon

Гость
#2
<!--QuoteBegin-anastasia+23:10:2005, 09:13 -->
<span class="vbquote">(anastasia @ 23:10:2005, 09:13 )</span><!--QuoteEBegin-->В строке StringGrid
[snapback]26168" rel="nofollow" target="_blank[/snapback]​
[/quote] StringGrid - это таблица!!!

Код:
const search: char = 't';
var
str: string;
result: array of integer;
i, tmp: integer;
begin
str:= edit1.Text;
tmp:= 0;
for i:= 1 to Length(str) do
if str[i] = search
then inc(tmp)
else
 if tmp <> 0 then
 begin
 SetLength(result,Length(result)+1);
 result[Length(result)-1]:= tmp;
 tmp:= 0;
 end;

if tmp <> 0 then
 begin
 SetLength(result,Length(result)+1);
 result[Length(result)-1]:= tmp;
 end;
end;
 
A

anastasia

Гость
#3
Я понимаю, что это таблица, но мне нужно посчитать отдельно две последовательности из "т" в первой строке и запомнить, потом во второй строке, и т.д.
 
B

Boriss

Гость
#4
А в чем проблемы-то, ведь к отдельным строкам можно обращаться через свойство
property Rows[Index: Integer]: TStrings;
И еще добавлю, что я для подсчета числа любых букв организовал бы массив
chars: array[32..255] of integer;
и по мере перебора символов строки увеличиваю соответствующий элемент массива
 
P

Poseidon

Гость
#5
anastasia, я наверно для себя код выложил. Читайте внимательно!!! То, что вам нужно и есть в этом коде
 
Статус
Закрыто для дальнейших ответов.