• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Отсортировать символы по убыванию частот

sacreden

Ученик
Регистрация
24 Фев 2012
Сообщения
6
Реакции
0
Баллы
0
Отсортировать символы по убыванию частот

Помогите пожалуйста.
Для текстового файла найти частность входящих в него символов. При выводе частности отсортировать символы по убыванию частот. Исходный файл Подготовить самостоятельно.
 
Помогите пожалуйста.
Для текстового файла найти частность входящих в него символов. При выводе частности отсортировать символы по убыванию частот. Исходный файл Подготовить самостоятельно.
Летом к нам обещали заглянуть наши экстрасенсы, тогда от них и узнаем язык программирования, на котором надлежит выполнить задание. А до тех пор мы, извините, не в силах Вам помочь.
 
Летом к нам обещали заглянуть наши экстрасенсы, тогда от них и узнаем язык программирования, на котором надлежит выполнить задание. А до тех пор мы, извините, не в силах Вам помочь.

)) На любом языке С++,паскаль и т.п.
 
)) На любом языке С++,паскаль и т.п.
Ну тогда - вот Паскаль (пути к файлам поставьте, естественно, свои):
Код:
VAR
 f:Text;
 Smb:Set of Char;
 S:Array[1..500] of Char;
 T:Array[1..500] of Word;
 N,i,j,num:Word;
 C:Char;
BEGIN
 Smb:=[];
 N:=0;
 For i:=1 to 500 do T[i]:=0;
 Assign(f,'D:\Input.txt');
 Reset(f);
 Repeat
  Read(f,C);
  If Not(C in Smb) then
   Begin
    Smb:=Smb+[C];
    Inc(N);
    T[N]:=1;
    S[N]:=C;
   End
  else
   Begin
    i:=0;
    repeat
     inc(i);
    until S[i]=C;
    Inc(T[i]);
   End;
 Until EoF(f);
 Close(f);
 Assign(f,'D:\Output.txt');
 Rewrite(f);
 For i:=1 to N do
  For j:=1 to N-i do
   If T[j]<T[j+1] then
    begin
     num:=T[j];
     T[j]:=T[j+1];
     T[j+1]:=num;
     C:=S[j];
     S[j]:=S[j+1];
     S[j+1]:=C;
    end;
 For i:=1 to N do
  Writeln(f,S[i],' - ',T[i]:3,' times');
 Close(f);
END.
 

Вложения

  • Input.txt
    Input.txt
    337 байт · Просмотры: 508
  • Output.txt
    Output.txt
    570 байт · Просмотры: 592
Назад
Сверху