Найти значение получившееся переменной n в результате выполнения - Pascal
Формулировка задачи:
Дали в шараге задачу, не могу сам решить, посоветовали в паскаль онлайн напечатать это, мол ответ даст, ошибки лезу, пожалуйста дайте значение или скажите что не так...))) Очень прошу..
//fpc 3.0.0
a := "decomposition";
n := 0;
Делать от i = 1 до LEN(a)
{ b := Часть(a, i, 1);
k := 0;
Делать от j := i + 1 до LEN(a)
{ Если Часть(a, j, 1) = b то { k :=1; }
}
n := n + k;
}
Решение задачи: «Найти значение получившееся переменной n в результате выполнения»
textual
Листинг программы
var a:string;
b:char;
n,i,j,k:byte;
begin
a:='decomposition';
n:=0;
for i:=1 to length(a) do
begin
b:=a[i];
k:=0;
for j:=i+1 to length(a) do
if a[j]=b then k:=k+1;
n:=n+k;
end;
write('n=',n);
end.
Объяснение кода листинга программы
- Переменная a равна
decomposition - Переменная b - символ
- Переменные n, i, j, k - байтовые переменные
- Присваивается значение 0 переменной n
- Выполняется цикл от 1 до длины строки a
- Переменной b присваивается символ из строки a с индексом i
- Переменной k присваивается значение 0
- Выполняется вложенный цикл от i+1 до длины строки a
- Если символ из строки a с индексом j равен b, то к переменной k прибавляется 1
- Переменной n прибавляется значение k
- Выводится значение переменной n
Данный код вычисляет количество повторяющихся символов в строке
decompositionи выводит результат.