anastasia
23:10:2005, 06:13
Привет всем!
У меня такой вопросик.
В строке StringGrid нужно посчитать количество символов «т». При том отдельно. Т.е. если, например, сначала идет пять символов «т», а затем какие-либо другие символы или пустота, далее опять идет какое-то количество символов «т», то первую последовательность и вторую нужно посчитать отдельно, а остальные символы в расчет не брать, т.е. попросту не считать.
Таким образом, нужно запомнить первое количество символов «т» в одну переменную, а второе количество символов «т» во вторую переменную.
Poseidon
23:10:2005, 18:32
Цитата(anastasia @ 23:10:2005, 09:13 )
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;
anastasia
23:10:2005, 23:15
Я понимаю, что это таблица, но мне нужно посчитать отдельно две последовательности из "т" в первой строке и запомнить, потом во второй строке, и т.д.
А в чем проблемы-то, ведь к отдельным строкам можно обращаться через свойство
property Rows[Index: Integer]: TStrings;
И еще добавлю, что я для подсчета числа любых букв организовал бы массив
chars: array[32..255] of integer;
и по мере перебора символов строки увеличиваю соответствующий элемент массива
Poseidon
24:10:2005, 12:31
anastasia, я наверно для себя код выложил. Читайте внимательно!!! То, что вам нужно и есть в этом коде
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.