Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
PROGRAM Simbol_Array;
{ Программа Лабораторной работы N 4
Вариант N 31.
гр. Я-007, ст. А.Я. Умненькая }
VAR
N,Ni,Nmax,i,j:integer;
SimI,SimMax:char;
Simbol:array[1..100] of char;
Fout:text;
BEGIN {Выполняемый блок. Первый раздел – ввод данных }
N:=0;
writeln('Вводить по одному не более 100 символов,');
writeln(' Для завершения – ввести символ "."');
repeat
writeln('Введи очередной символ');
N:= N + 1;
readln(Simbol[N]);
until (N = 100) or (Simbol[N] = '.');
if Simbol[N]= '.' then N:= N - 1; { Последний символ, если он – точка, рассматриваться не будет }
if N < 1 then
writeln('Нельзя рассматривать меньше 1 символа')
else
begin
Assign(Fout,'UMNIK4.RES'); {связали Fout с UMNIK.DAT}
ReWrite(Fout); {открыли файл для записи }
writeln(Fout,'Исходный массив из ',N,' элементов');
for i:=1 to N do
begin
write(Fout,Simbol[i]:2); { печать в текущей строке}
if i mod 30 = 0 then writeln(Fout); { если номер
элемента кратен 30 переходим на новую строку}
end;
writeln(Fout);
{ Основной раздел – поиск номера }
Nmax:= 0; { количество наиболее частого символа }
SimMax:= Simbol[1];
for i:=1 to N do { внешний цикл перебора символов }
begin
SimI:= Simbol[i];
Ni:= 0;
for j:=i to N do { внутренний цикл перебора символов }
if Simbol[j] = SimI then Ni:=Ni+1;
if Ni>Nmax then {если этот символ встретился чаще,}
begin {запомним его и число его вхождений}
Nmax:= Ni;
SimMax:= SimI;
end;
end;
{ Раздел вывода результатов поиска }
if Nmax = 1 then
writeln(Fout,'Все символы входят по 1 разу')
else
write(Fout,'Символ "',SimMax,'" встретился ',Nmax,
' раз');
{ далее определим, если Nmax кончается на 2,3,4 и не во втором десятке, изменим окончание, например, "23 раза" }
if (Nmax mod 10 < 5) and (Nmax mod 10 > 1) and
(Nmax div 10 <> 1)
then writeln(Fout,'а');
end;
Close(Fout);
END.
Дата публикования: 2014-11-03; Прочитано: 282 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!