Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2009, 21:06   #1
Fortismine
Новичок
Джуниор
 
Регистрация: 20.05.2009
Сообщений: 2
По умолчанию Паскаль. Работа с файлами.

Необходимо подсчитать частоту цифр и комбинации цифр в файле, который содержит 10 000 знаков.

Я сделала два варианта для подсчета цифр (то есть 1, 2, 3 и т.д.). Оба работают. Но в обоих не получается подсчитать, количество раз, которое встречается, например, двузначное или трезначное число.

1й вариант
Код:
uses crt;
const m=9; {n=10000;}
Var
f:text;
i,s:integer;
k:array[0..m] of integer;
Begin
clrscr;
assign(f,'D:\10000.txt');
reset(f);

while not eof(f) do
begin
read(f,s);
for i:=0 to m do
begin
if s=i then k[i]:=k[i]+1;
end;
end;

writeln('Number |  Count  | Chastota');
writeln;
for i:=0 to m do
    begin
    textcolor(5);
    write('   ',i);
    textcolor(15);
    writeln('   |   ',k[i]:3,'   |   ',(k[i]/n):3:3);
    end;
close(f);
readln;
End.
2й вариант
Код:
uses crt;
const n=10000;
Var
f:text;
i,j:integer;
s1:string;
k:array[0..9] of real;
s:array[0..n] of integer;
Begin
clrscr;
assign(f,'G:\10000.txt');
reset(f);

{*******************************************}

      for i:=1 to n do
          begin
          read(f,s[i]);
          if s[i]=0 then k[0]:=k[0]+1;
          if s[i]=1 then k[1]:=k[1]+1;
          if s[i]=2 then k[2]:=k[2]+1;
          if s[i]=3 then k[3]:=k[3]+1;
          if s[i]=4 then k[4]:=k[4]+1;
          if s[i]=5 then k[5]:=k[5]+1;
          if s[i]=6 then k[6]:=k[6]+1;
          if s[i]=7 then k[7]:=k[7]+1;
          if s[i]=8 then k[8]:=k[8]+1;
          if s[i]=9 then k[9]:=k[9]+1;
          end;
{textcolor(5);}
writeln('Number |  Count  | Chastota');
writeln;
for j:=0 to 9 do
    begin
    textcolor(5);
    write('   ',j);
    textcolor(15);
    writeln('   |   ',k[j]:3:0,'   |   ',(k[j]/n):3:3);
    end;
close(f);
{*******************************************}
readln;
End.
Прошу помощи (дельного совета . Спасибо за внимание.

Последний раз редактировалось Fortismine; 20.05.2009 в 21:08.
Fortismine вне форума Ответить с цитированием
Старый 21.05.2009, 13:47   #2
Кальсин
Новичок
Джуниор
 
Регистрация: 21.05.2009
Сообщений: 2
По умолчанию

помогите пожалуйста с решение задачи

writeln('Дано целое число k (1<=k<=365)');
writeln('Присвоить целочисленной величине n значение 1,2,...,6 или 0 ');
writeln('в зависимиости от того,на какой день недели(понедельник,вторник,');
writeln('...,субботу или воскресенье) приходится k-й день года,в котором 1 января:');
Заранее
Спасибо
Кальсин вне форума Ответить с цитированием
Старый 21.05.2009, 13:56   #3
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Fortismine не совсем понятна задача
danekne вне форума Ответить с цитированием
Старый 21.05.2009, 14:16   #4
Кальсин
Новичок
Джуниор
 
Регистрация: 21.05.2009
Сообщений: 2
По умолчанию

Дано целое число k (1<=k<=365).Присвоить целочисленной величине n значение 1,2,...,6 или 0 в зависимиости от того,на какой день недели(понедельник,вторник,...,субб оту или воскресенье) приходится k-й день года,в котором 1 января:
а)понедельник
б)вторник
в)*d-й день недели (если 1 января-понедельник,то d=1,если вторник -d =2,...,если воскресенье d=7).
Кальсин вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами. Вывод в Граф режиме. Паскаль. HITMAN 09 Помощь студентам 8 23.04.2009 20:36
Паскаль. Работа с файлами, дисплеем. Надюха Помощь студентам 1 21.09.2007 07:43