Министерство образования и науки
Государственное образовательное учреждение профессионального высшего обучения
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТИОРАЛОГИЧЕСКИЙ УНИВКРСИТЕТ
Кафедра: МИТ
Дисциплина "Информатика"
Отчёт по лабораторной работе №4
Вариант№26
Выполнил студент: Завьялов В.С.
Факультет: Океанология.
Курс: Первый.
Группа: О-193
Проверил: Сидоров В.А.
Санкт-Петербург
2005 год
Задание.
Формирование символьного массива длиной N элементов, содержащего только цифры. (при заполнении его с клавиатуры пропускать не цифровые символы.) подсчёт и вывод на экран цифры, встретившейся чаще других (и сколько раз она встретилась).
Таблица идентификаторов.
Имя |
Тип |
Размер, байт |
Назначение |
N |
Целый |
2 |
Количество символов |
Ni |
Целый |
2 |
Количество чисел |
Nmax |
Целый |
2 |
Количество чисел |
I |
Целый |
2 |
Счётчик |
J |
Целый |
2 |
Счётчик |
Ai |
Символьный |
6 |
Символ |
SimI |
Символьный |
6 |
Символ |
SimMax |
Символьный |
6 |
Символ |
Simbol_Arrey |
Название программы |
Формирование символьного массива |
Блок-схема.
Введи N от 1 до 100
N
|
N от 1 до 100
Введите элементы
массива
i:1,N
A[i]
i:1,N
|
|||||
ORD(Ai)>=48
ORD(Ai)<=57
A[i]
1
1
Faut, Kovin.RES
Fout, новый массив
i:1,N
i mod 25=0
|
||
|
Fout
Nmax=0
SimMax:=A[1]
i:1,N
SimI:=A[i]
Ni:=0
j:1,N
A[j]=SimI
2
|
|
Ni:=Ni+1
Ni>Nmax
Namx:=Ni
SimMax:=SimI
|
|
|||||||
|
||||||||
|
Nmax=1
Все символы встречаются Символ’, SimMax,’
по 1 разу встретился ‘, Nmax,’ раз
Nmax mod 10<5
Nmax mod 10>1
Nmax div 10<>1
Fout
конец
Текст программы.
PROGRAM Simbol_Arrey;
{Лабораторная работа №4
вариант 26
гр. О-193 Ст. Завьялов В.С.}
var
N,Ni,Nmax,i,j :integer;
Ai,SimI,SimMax :char;
A :array[1..100] of char;
fout :text;
begin
writeln('введите N от 1 до 100');
readln(N);
if (N<1) and (N>100) then
writeln('не верно введено число')
else
writeln('введите элементы ммассива');
for i:=1 to N do
begin
readln(Ai);
if (ORD(Ai)>=48) and (ORD(Ai)<=57) then
A[i]:=Ai
end;
begin
Assign(Fout,'Zavyalov.RES');
ReWrite(Fout);
writeln(Fout,'исходный массив из ',N,' элементов');
for i:=1 to N do
begin
write(Fout,A[i]:3);
if i mod 25=0 then writeln(Fout);
end;
writeln(Fout);
Nmax:=0;
SimMax:=A[1];
for i:=1 to N do
begin
SimI:=A[i];
Ni:=0;
for j:=1 to N do
if A[j] = SimI then Ni:=Ni+1;
if Ni>Nmax then
begin
Nmax:=Ni;
SimMax:=SimI;
end;
end;
if Nmax=1 then
write(Fout,'все символы встречаются по 1 разу')
else
write(Fout,'символ ',SimMax,' встретился ',Nmax,' раз');
if (Nmax mod 10<5) and (Nmax mod 10>1) and (Nmax div 10<>1) then
writeln(Fout,' ');
end;
Close(Fout);
END.
Результат
Исходный массив из 10 элеменнтов
3 5 8 3 6 5 3 7 9 3
Символ 3 встретился 4 раза
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.