Текст программы. Program simbol_array

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.

Результаты работы

(содержимое файла UMNIK.RES)

Исходный массив из 95 элементов

Н е г о в о р и т е м н е, о н у м е р - о н ж и в е т! П

У с т ь ж е р т в е н н и к р а з б и т - о г о н ь е щ е п

Ы л а е т, п у с т ь р о з а с о р в а н а - о н а е щ е ц

В е т е т

Символ "е" встретился 14 раз


Варианты заданий

Таблица 17. Варианты заданий лабораторной работы №4

№ вар. Задание Печатать элементы массива по Тип обрабатыв. данных
штук: формату:
  Формирование массива длиной не более ста элементов, заполнения его с клавиатуры (вводя по одному произвольному символу пока не встретится символ '!'), исключение из массива всех символов – цифр и пробелов со сдвигом остающихся элементов массива на освободившиеся места.   :1 Символьн.
  Нахождение номера наименьшего элемента в массиве заданной длины среди всех положительных элементов. Длина массива вводится с клавиатуры.   :11 Веществ.
  Вычисление суммы " K " слагаемых – элементов массива, начиная с третьего по порядку, и суммируя только элементы с нечетными номерами. Длина массива и количество суммируемых элементов вводится с клавиатуры.   :9:2 Веществ.
  Перестановка максимального и минимального по значению элементов массива. Значение длины массива вводится с клавиатуры.   :7 Целые
  Вычисление суммы всех четных (по значению) элементов массива, расположенных на нечетных по порядку местах. Длина массива вводится с клавиатуры.   :6 Целые
  Нахождение максимального значения в массиве среди всех четных чисел. Длина массива вводится с клавиатуры.   :6 Целые
  Вычисление суммы элементов массива, начиная с " К "-го по порядку и до элемента, равного нулю (если такой элемент встретится; иначе – до конца массива). " K ", длину массива и значения элементов вводить с клавиатуры.   :12 Веществ.
  Перестановка "i"-го и "j"-го по порядку элементов массива, при условии, что они с разными знаками. Если они с одинаковыми знаками, все элементы между ними обнулить. Длина массива и номера переставляемых элементов вводятся с клавиатуры.   :6 Целые
  Вычисление суммы элементов массива, расположенных в конце массива, причем складывать нужно, начиная от конца массива, столько элементов, пока сумма не превысит значения 20.5 (или не будут сложены все элементы). Длина массива вводится с клавиатуры. Печатать сумму и количество сложенных элементов   :10:3 Веществ.
  Нахождение максимального значения в массиве среди всех элементов после первого отрицательного. Длина и значения элементов массива вводятся с клавиатуры.   :5 Целые
  Вычисление суммы элементов массива начиная с первого элемента со значением больше 0.9, и пока сумма по модулю не превысит заданного значения. Длина массива, значения элементов и предельное значение (признак для окончания суммирования) вводятся с клавиатуры.   :9:3 Веществ.
  Перестановка максимального и минимального по коду символов массива длиной N элементов. Значение длины массива и сами элементы массива вводятся с клавиатуры. Массив печатать до и после перестановки.   :2 Символьн.
  Формирование массива длиной N элементов, заполняя его с клавиатуры (вводя сначала количество символов, и затем по одному произвольному символу пока не введется указанное количество), подсчет и вывод на экран количества символов из диапазона от 'А' до 'я' (кириллицы).   :2 Символьн.
  Вычисление среднего значения в одномерном массиве для всех элементов между первым и вторым нулем в массиве (или от первого нулевого значения до конца массива). Длина и значения элементов массива вводятся с клавиатуры.   :12 Веществ.
  Перестановка одномерного массива в обратном порядке. Значение длины массива вводится с клавиатуры. Массив печатать до и после перестановки.   :8 Целые
  Вычисление в одномерном массиве целой части среднего значения всех положительных четных по величине чисел. Длина массива вводится с клавиатуры.   :8 Целые
  Исключение из массива всех пробелов и запятых со сдвигом остающихся элементов массива на освободившиеся места. Исходный массив длиной N символов (где N не больше 100) вводится из текстового файла.   :1 Символьн.
  Вычисление целого среднеарифметического значения среди всех отрицательных элементов массива (содержащего и положительные значения), расположенных начиная с " К "-го по порядку элемента. Длина массива и значение " К " вводятся с клавиатуры.   :6 Целые
  Определение длины самой длинной последовательности из расположенных подряд в одномерном логическом массиве значений TRUE и вывод найденной длины на экран. Длина массива и значения TRUE и FALSE вводятся с клавиатуры в форме F (для FALSE) и T (TRUE).   :7 Логич.
  Вычисление среднеарифметического всех положительных элементов массива (содержащего и отрицательные значения), длина которого вводится с клавиатуры.   :10:2 Веществ.
  Поиск места (номера элемента) в массиве, где первый раз подряд встречаются два четных числа. Длина массива вводится с клавиатуры.   :6 Целые
  Формирование логического массива длиной N элементов, заполнения его с клавиатуры (вводя 1 – вместо TRUE и 0 – вместо FALSE'), подсчет и вывод на экран количества значений TRUE и FALSE и сообщение, чего было больше.   :6 Логич.
  Поиск номеров двух последних расположенных подряд отрицательных элементов в массиве. Длина массива вводится с клавиатуры.   :10 Веществ.
  Формирование логического массива, заполняя его с клавиатуры (вводя вместо TRUE четные числа, а вместо FALSE – нечетные и заканчивая, когда встретится число 0); подсчет и вывод на экран количества значений TRUE и FALSE и сообщение, каких значений было больше.   :5 Логич.
  Нахождение номера максимального значения в массиве после первого отрицательного и не далее второго отрицательного. Длина массива вводится с клавиатуры.   :10:3 Веществ.
  Формирование символьного массива длиной N элементов, содержащего только цифры. (При заполнении его с клавиатуры пропускать не цифровые символы.) Подсчет и вывод на экран цифры, встретившейся чаще других (и сколько раз она встретилась.)   :3 Символьн.
  Исключение из массива всех отрицательных по значению элементов со сдвигом элементов массива на освободившиеся места. Длина массива вводится с клавиатуры.   :9:2 Веществ.
  Переписывание из исходного в выходной массив всех нечетных значений в начало, а всех четных – в конец. Длина исходного массива вводится с клавиатуры.   :6 Целые
  Определение номера элемента, с которого начинается самая длинная последовательность четных чисел, расположенных в массиве подряд. Длина массива вводится с клавиатуры   :6 Целые
  Определение номера элемента, с которого начинается самая длинная последовательность из отрицательных чисел, расположенных в массиве подряд. Длина массива вводится с клавиатуры.   :10:2 Веществ.
  Формирование символьного массива длиной не более ста элементов, заполнение его с клавиатуры (вводя по одному произвольному символу пока не встретится символ "."), подсчет и вывод на экран символа, который встретился чаще других и число его повторений   :2 Символьн.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: