Конвертировать программку, чтобы с ее поддержкою можно было сыскать слова с
Конвертировать программку, чтобы с ее подмогою можно было находить слова с более частым вхождением буковкы я. (Программка обязана обретать букву в словах из привязанного файла).
Var Sim:array[0..10]of string;
C: Char;
i,k,p: integer;
f1:text;
Begin
assign(f1,'file1.txt');
reset(f1);
Clrscr;
randomize;
writeln('Начальный массив');
for p:= 1 to 6 do
begin
For i:= 1 to 10 do
Begin
Sim[p]:=sim[p]+Chr(random(32)+Ord('а'));
End;
Writeln(Sim[p]);
Writeln(f1,Sim[p]);
end;
Writeln;
close(f1);
end.
1 ответ
Алёна
Var Sim:array[0..10] of string;
function count_ya(var s: string): integer;
begin
var i, n, len: integer;
var c: char;
n := 0;
len := Length(s);
for i := 1 to len do begin
c := s[i];
if (c = 'я') or (c = 'Я') then begin
n := n + 1;
end;
end;
result := n;
end;
procedure word(var s: string);
begin
var i, c, k, j: integer;
c := count_ya(s);
for i := 0 to 10 do begin
if count_ya(Sim[i]) lt; c then begin
for k := 9 downto i do begin
Sim[k + 1] := Sim[k];
end;
Sim[i] := s;
break;
end;
end;
end;
Begin
Var C: Char;
Var i, k: integer;
Var f1: text;
Var s: string;
assign(f1, 'file1.txt');
reset(f1);
randomize;
i := 0;
while not Eof(f1) do begin
read(f1, C);
if ((C gt;= 'а') and (C lt;= 'я')) or ((C gt;= 'А') and (C lt;= 'Я')) then begin
i := 1;
s := s + C;
end else begin
if i = 1 then begin
word(s);
end;
i := 0;
s := '';
end;
end;
if i = 1 then begin
word(s);
end;
close(f1);
for i := 0 to 10 do begin
s := Sim[i];
if s = '' then break;
writeln(s);
end;
end.
function count_ya(var s: string): integer;
begin
var i, n, len: integer;
var c: char;
n := 0;
len := Length(s);
for i := 1 to len do begin
c := s[i];
if (c = 'я') or (c = 'Я') then begin
n := n + 1;
end;
end;
result := n;
end;
procedure word(var s: string);
begin
var i, c, k, j: integer;
c := count_ya(s);
for i := 0 to 10 do begin
if count_ya(Sim[i]) lt; c then begin
for k := 9 downto i do begin
Sim[k + 1] := Sim[k];
end;
Sim[i] := s;
break;
end;
end;
end;
Begin
Var C: Char;
Var i, k: integer;
Var f1: text;
Var s: string;
assign(f1, 'file1.txt');
reset(f1);
randomize;
i := 0;
while not Eof(f1) do begin
read(f1, C);
if ((C gt;= 'а') and (C lt;= 'я')) or ((C gt;= 'А') and (C lt;= 'Я')) then begin
i := 1;
s := s + C;
end else begin
if i = 1 then begin
word(s);
end;
i := 0;
s := '';
end;
end;
if i = 1 then begin
word(s);
end;
close(f1);
for i := 0 to 10 do begin
s := Sim[i];
if s = '' then break;
writeln(s);
end;
end.
Верстунин
Виталя
Я не сообразил, где тут реализация требования задания "находить слова с Более ЧАСТЫМ вхождением буковкы я."
Алёна Малюка
В массиве Sim хранятся первые 11 "слов" с величайшим количеством букв Я, процедура word(s) подсчитывает количество букв я в s, и если необходимо, обновляет массив Sim.
Galja Dzhamidava
Т.е. если в тексте 10 слов я буковкой "я" они все числятся словами с величайшим вхождением буковкы "я"? Модеру, окончательно виднее, но если бы мне попробовали сдать такое решение, я бы выслал домой. Собственно я понимаю так: есть слова где "я" встречается один раз, есть где два раза, а то, быть может, и три. Вот если были слова с 2-мя "я" и с одним - надо вывести ТОЛЬКО с двумя "я".
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Облако тегов