Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
ВнизЧастотный букварь текста Найти похожие ветки
← →
Indigo (2007-12-18 12:59) [0]Необходимо было в паскале написать программу, которая составляет частотный букварь текста, т.е. необходимо посчитать количество использований в тексте каждого символа. Я написал, но при выводе результатов все счётчики на нулях:
var text:string; i,j:integer; z:char;
a: array [1..256] of integer;
b: array [1..256] of char;
procedure sABC(text:string; a: array [1..256] of integer; b: array [1..256] of char);
begin
For i:=1 to 256 do b[i]:=chr(i-1);
for i:=1 to length(text) do begin
For j:=1 to 256 do
If text[i]=b[j] then a[j]:=a[j]+1;
end;
end;
begin
Writeln("Enter a text in English language:");
Readln(text);
sABC(text, a, b);
For i:=0 to 255 do Write(i+1, ") ", chr(i), ":", a[i+1], " ");
end.
Просьба указать на ошибку. Заранее спасибо.
← →
Плохиш © (2007-12-18 13:07) [1]
> procedure sABC(text:string; var a: array [1..256] of integer;
> var b: array [1..256] of char);
← →
morgoth (2007-12-18 13:07) [2]ошибка здесь
procedure sABC(text:string; a: array [1..256] of integer; b: array [1..256] of char);
← →
Indigo (2007-12-18 13:11) [3]Спасибо огромное, теперь всё ок :)
← →
Sha © (2007-12-18 13:44) [4]
for i:=1 to length(text) do begin
For j:=1 to 256 do
If text[i]=b[j] then a[j]:=a[j]+1;
end;
попробуй заменить на
for i:=1 to length(text) do inc(a[1+ord(text[i])]);
← →
MBo © (2007-12-18 13:49) [5]еще проще использовать возможность языка - индексирование массива любым порядковым типом
a: array[Char] of Integer
for i:=1 to length(text) do
Inc(a[text[i]]);
← →
Sha © (2007-12-18 13:58) [6]Также в твоем случае, кроме отказа от использования массива b,
целесообразно объявитьa: array [ #0..#255] of integer;
тогда подсчет символов будет выглядеть более прозрачно:
for i:=1 to length(text) do inc(a[text[i]]);
← →
Sha © (2007-12-18 13:58) [7]))
← →
Indigo (2007-12-18 14:00) [8]Просто идеально, спасибо за помощь!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c