Помощь - Поиск - Пользователи - Календарь
Полная версия: Распознавание.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
mihas
??? Help Me !!! Дан файл, содержащий произвольный текст. Выяснить, чего в нем больше - русских букв или цифр.
AlaRic
С помощью множеств можно решить! Два множества: одно из русских букв, а другое из цифр. Посчитаешь сколько раз какое множество входит в текст файла и сравнить!
mvg
дык я вроде эту задачу еще в обед того... ;). см. тему про "обрезание" массива
mihas
Цитата
дык я вроде эту задачу еще в обед того... ;). см. тему про "обрезание" массива



Да огромное спасибо тебе!!! Программа заработала, только видимо из=за того что ты торопился небольшие ошибочки допустил ( например строки-константы не могут быть массивами) , вот рабочий код программы:

Код
program readfile;
var
nr,nb,i:longint;rus,num:string;
f:file of byte;b:byte;
s:string;
begin
rus:=& #39;АБВГДЕЁЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгде
жзиймлкнопрстуфхцчшщьыъэюя';
num:='123456789';
nr:=0;nb:=0;
assign(f,'text.txt');reset(f);
repeat
read(f,B);
for i:=1 to length(rus) do if chr(B)=rus[i] then nr:=nr+1;
for i:=1 to length(num) do if chr(B)=num[i] then nb:=nb+1;
until eof(f);
close(f);
s:='Букв больше';
if nb=nr then s:='Равное количество';
if nb>nr then s:='Цифр больше';
writeln(s);
readln;
end.
zx1024
4 байта коту под хвост.
Код
n : longint;
...
for i:=1 to length(rus) do if chr(B)=rus[i] then n:=n+1;
for i:=1 to length(num) do if chr(B)=num[i] then n:=n-1;
...
s:='Букв больше';
if n=0 then s:='Равное количество';
if n<0 then s:='Цифр больше';
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.