Другие языки программирования и технологии

Помогите плиз!Определяет какой из двух символ встречается чаще в данной строке? Паскаль

можно сделать дифференциальный счётчик:

var
i, n: integer;
symbol_a, symbol_b: char;
s: string;
- - -
for i := 0 to lenght(s) -1 do #### если нумераци с 1 -- for i := 1 to lenght(s)
begin
if s((i)) = symbol_a then
n := n + 1;
if s((i)) = symbol_b then
n := n - 1;
end;
if n = 0 then
write('Одинаково')
else if n > 0 then
write('Чаще ', symbol_a)
else
write('Чаще ', symbol_b);
- - -
двойные скобки замени на квадратные -- не получилось их вставить
- - -
в FreePaskal -- по умолчанию нумерация начинается с "0" -- но можно переключить
Амангелди Саимов
Амангелди Саимов
13 080
Лучший ответ
Просматривем строку и считаем количество этих символов в двух переменных. Затем сравнивем их и выводим результат. В чем проблема-то?

2Осман Велиев: Можно и это будет нормально. Только в паскале строки индексируются с единицы. В турбо в нулевом байте хранится длина строки.
по моему не много не так, не проверял правда:

Stroka: string;
var Bukva1,Bukva2,N: integer;
begin
Bukva1 := 0; Bukva2 := 0;
for N := 1 to length(Stroka) do begin
if Stroka[N] = 'a' then inc(Bukva1); continue;
if Stroka[N] = 'b' then inc(Bukva2);
end;
Сравнение сами напишите
У меня вроде получилось!

const Stroka: string;
var Bukva1,Bukva2,N: integer;
begin
for N := 1 to Stroka.length do // Возможно, N с нуля нужно начать
if Stroka[N] = 'a' then Bukva1 := Bukva1 + 1;
if Stroka[N] = 'b' then Bukva2 := Bukva2 + 1;
end;
Hideo Kojima
Hideo Kojima
562
авв