Помощь - Поиск - Пользователи - Календарь
Полная версия: объясните решение
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Vinsent90
Всем здрасте. Дана задача...
Ввести последовательность символов и определить число различных букв данной строки

program koli4estvo_razli4nih_bukv;
uses crt;
var s, a : string;
r : real ;
i,j,n,x:integer;
begin
clrscr;
writeln (' vvedite stroku '); readln(s);
for i:=1 to length(s) do begin
if s[i] in ['a'..'z'] then begin inc(x); a[x]:=s[i]; end; end;
begin
for i:=1 to x do
begin
n:=0;
for j:=1 to x do begin
if a[i]=a[j] then inc(n)
end;

r:=r+1/n;

end;
end; writeln;
writeln(' koli4estvo razli4nih bukv = ', r:1:0);
readkey;
clrscr;
end.


Может кто-нибудь объяснить, что происходит в строке r:=r+1/n ?
volvo
Цитата
Может кто-нибудь объяснить, что происходит в строке r:=r+1/n ?
Особенно интересно, что будет происходить в этой строчке при вводе строки "abcd", например smile.gif
Vinsent90
Цитата(volvo @ 4.06.2008 19:54) *

Особенно интересно, что будет происходить в этой строчке при вводе строки "abcd", например smile.gif


Ну если буква в строке не повторяется, то n=1 , R увеличивается на 1, а если буква повторяется, допустим 3 раза, то R:=r+1/3 ... R не изменится так как оно REAL ? Я правильно понял?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.