В е т е т
Ы л а е т , п у с т ь р о з а с о р в а н а - о н а е щ е ц
У с т ь ж е р т в е н н и к р а з б и т - о г о н ь е щ е п
Н е г о в о р и т е м н е , о н у м е р - о н ж и в е т ! П
Исходный массив из 95 элементов
Результаты работы
Текст программы
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)
Символ "е" встретился 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 | Символьн. |