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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 19:47   #1
yaroslav_bondarev
 
Регистрация: 28.11.2011
Сообщений: 9
Печаль дан текст, написать код, нахождения 10 наиболее часто встречающихся букв

не могу написать, бред получается, помогите
yaroslav_bondarev вне форума Ответить с цитированием
Старый 14.12.2011, 21:19   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ну так кидай сюда свой бреди и посмотрим.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 14.12.2011, 21:26   #3
yaroslav_bondarev
 
Регистрация: 28.11.2011
Сообщений: 9
По умолчанию

Код:
program Variant3;
const smax=30;
      alf1='АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЫЬЭЮЯ';
      alf2='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
type                 zapis = record
                            x:char;
                         y:integer;
                               end;
var                      t,t1:text;
                          s:string;
                          a,b:mass;
                     i,j,k:integer;

function Perevod(s:string):string;
var i:integer;
begin
for i:=1 to length(s) do
if (pos(s[i],alf2)>0) then s[i]:=alf1[pos(s[i],alf2)];
perevod:=s;
end;

function Proverka(s:string):string;
var                    i,j:integer;
                         f:boolean;
s1:=perevod(s);
for i:=1 to length(s) do
if pos(s1[i],alf1)>0 then
inc(a[pos(s1[i],alf1)].y);
f:=false;
for i:=1 to length(s) do
for j:=1 to 10 do
if s1[i]=a[j].x then f:=true;
end;
через записи начал писать, вообще что то не соображаю как написать программу
yaroslav_bondarev вне форума Ответить с цитированием
Старый 14.12.2011, 21:37   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Создай какойнить текстовый файл скажем так ( приведу простой пример )

Код:
Uses crt;
var f: text;
     s: string;
     i: integer;
begin
clrscr;
assign(f,'ap.txt'); // создаёш текстовый файл куда записываеш построчно текстовую инфу. 
rewrite(f); // открываеш для записи 
for i:=1 to 10 do begin //делаеш цикл для записи
     readln(s);
     writeln(f, s);
end;
close(f); // закрываеш
reset(f); // открываеш для чтения
while not eof(f) do  // пока не конец файла 
   for i:=1 to 10 do begin 
        readln(f, s);  // считываеш
    if s[i] in ['a'..'z'] then ... /// проверяеш есть ли похожие символы в словах, после выводиш (если надо количество слов ставиш счётчик, если слова выводиш те char'ы( символы которые повторяються ) ...
...
readln;
end.
Ну надеюсь что направил тебя в нужное русло.
Люблю на ты.Я человек простой

Последний раз редактировалось Leshii; 14.12.2011 в 21:40.
Leshii вне форума Ответить с цитированием
Старый 14.12.2011, 21:41   #5
yaroslav_bondarev
 
Регистрация: 28.11.2011
Сообщений: 9
По умолчанию

мне вообще надо написать:
В текстовом файле input.txt записан русский текст. Найти в тексте слова, содержащие ровно одну из 10 наиболее часто встречающихся букв текста записать их заглавными буквами и указать после каждого такого слова в скобках найденную букву. Полученный текст записать в файл output.txt. Весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.

а то что ты написал, это и так понятно)
yaroslav_bondarev вне форума Ответить с цитированием
Старый 14.12.2011, 21:43   #6
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ну так если понятно, то чего бред пишеш ? Зачем тебе тогда записи ? Ты ведь даже как оказалось задание то и не доконца написал. Какой вопрос такой ответ...
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 14.12.2011, 21:46   #7
yaroslav_bondarev
 
Регистрация: 28.11.2011
Сообщений: 9
По умолчанию

а как по другому найти эти 10 букв? вот, я счас разделил строку на слова:
Код:
procedure Slova(var a:tmas;var n :integer;s:string);
var i : integer;
w : string;
begin
s:=s+' ';
w:='';
n:=0;
for i := 1 to length(s) do
if (pos(s[i],alf1)>0) or (pos(s[i],alf2)>0) then w:=w+s[i]
else
if w<>'' then
begin
inc(n);
a[n]:=w;
w:='';
end;
end;
yaroslav_bondarev вне форума Ответить с цитированием
Старый 14.12.2011, 21:47   #8
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ну после твоего откровение прочти вот эту темку тыц
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 14.12.2011, 22:08   #9
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
const nmax=66;
var buf:string;
    co:array[0..nmax] of byte;
    n,i,j:byte;
    s:string;
    c:char;
begin
write('cTpoka-->');readln(s);
buf:='';
for i:=1 to nmax do
co[i]:=0;
for i:=1 to length(s) do
if (s[i] in ['A'..'Z','a'..'z']) and (pos(s[i],buf)=0) then begin buf:=buf+s[i]; co[pos(s[i],buf)]:=co[pos(s[i],buf)]+1;end
else co[pos(s[i],buf)]:=co[pos(s[i],buf)]+1;
writeln(buf);
for i:=1 to length(buf)-1 do
begin
  for j:=i+1 to length(buf) do
  begin
    if co[i]<co[j] then
    begin
       n:=co[i];
       co[i]:=co[j];
       co[j]:=n;
       c:=buf[i];
       buf[i]:=buf[j];
       buf[j]:=c;
    end;
   end;
end;
for i:=1 to 10 do
writeln(buf[i],'  ',co[i]);
end.
result
Цитата:
cTpoka-->qwerytqwerqytweriquwifqjn cqnbewjfrqwegcfhjdscvghwefgjkhjashs gfhdgfyuweqjflkjfjkahfurfugr
qwerytiufjn cbghdsvkal
f 10
w 8
q 8
j 8
e 7
r 6
g 6
h 6
u 4
y 3
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 14.12.2011, 22:08   #10
yaroslav_bondarev
 
Регистрация: 28.11.2011
Сообщений: 9
По умолчанию

спасибо большое)
yaroslav_bondarev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из текстового файл получить 5 наиболее часто встречающихся слов и число их появлений (на Delphi) sifa Помощь студентам 5 09.01.2012 18:34
в тексте слова, содержащие ровно одну из 10 наиболее часто встречающихся букв yaroslav_bondarev Паскаль, Turbo Pascal, PascalABC.NET 3 16.12.2011 10:11
Дан массив, состоящий из символов. Вывести на экран цифру, наиболее часто встречающуюся в этом массиве. Andros_me Помощь студентам 2 21.12.2010 08:50
Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов sk1p Паскаль, Turbo Pascal, PascalABC.NET 2 26.09.2008 23:57
Дан текст из строчных латинских букв и других знаков. Вычеркнуть из текста все гласные буквы." XeRoX Помощь студентам 6 15.06.2008 09:41