[quote name='Федосеев Павел' date='14.04.2013 18:52' post='161990']
Я так понимаю, что на каком-то форуме ты уже побывал.
Если выполняешь самостоятельно, то разберёшься.
1. Отформатируй текст программы. Станет видна основная ошибка - результат выводится после обработки каждой строки, а не по окончанию файла.
2. Действительно, странно как-то ты считаешь относительную частоту. Посчитай появление каждого символа из требуемого диапазона в тексте. Потом и выводи результат.
Код
if s[i] in ['a'..'z', 'A'..'Z', 'а'..'я', 'А'..'Я'] then {здесь не вполне корректно задан русский алфавит - подправишь сам}
inc(a[ord(s[i])]);
[/quote]
интересная штука получилось, читая Ваш совет, а именно
Код
if s[i] in ['a'..'z', 'A'..'Z', 'а'..'я', 'А'..'Я'] then
inc(a[ord(s[i])]);
[/quote]
думала сначала сделать так
Код
if s[i] in ['a'..'z'] then inc(a[ord(s[i])]);
else {разделила потому что большие буквы нужно преобразовать в маленькие}
if s[i] in ['A'..'Z'] then begin
s[i]:=chr(ord(s[i])+32);
inc(a[ord(s[i])]);
end;
либо я чего то не допонимаю либо я все-таки чего то недопонимаю, так как если разбивать , то у меня не считает "а", так же как и в моем изначальном варианте а малую программа не считала вообще. НО если пишу
Код
if s[i] in ['a'..'z'] then
inc(a[ord(s[i])]);
, то мало того что все считает, она даже большие считает и на экран выдает все в виде малых букв.( это по поводу латинских букв, с русскими пока не делаю)
это конечно великолепно что так получается,НО я не понимаю почему она считает и большие и малые, если я большие даже не пишу в список?