Лабораторная работа № 6. Обработка числовых последовательностей.
Написать программу, последовательно выполняющую перечисленные ниже задачи. Предусмотреть печать приглашения на ввод (строки, поясняющей пользователю, какие действия от него ждет программа) и информативный вывод данных.
Задание 1. Длина последовательности целых чисел – случайное число от 10 до 30. Последовательность генерируется случайным образом или вводится с клавиатуры по желанию пользователя. Обработать эту последовательность без использования массива в соответствии с номером варианта. При вводе или генерации последовательность записать в файл Input.txt (первая компонента файла – количество элементов последовательности, остальные компоненты представляют собой элементы последовательности).
Задание 2. Из файла Input.txt, подготовленного в процессе выполнения Задания 1, вводится последовательность целых чисел известной длины (эта длина записана на первом месте в файле). Обработать эту последовательность без использования массива в соответствии с номером варианта. В процессе обработки записать результаты в файл Output.txt (все компоненты представляют собой элементы вновь получаемой последовательности).
Задание 3. Из файла Output.txt, подготовленного в процессе выполнения Задания 2, вводится последовательность целых чисел. Обработать эту последовательность без использования массива в соответствии с номером варианта. Результаты обработки вывести на экран.
Внимание!!! Файлы после записи необходимо закрывать. Для разных заданий лучше использовать файловые потоки с разными именами. Для того чтобы обрабатывать пары чисел, необходимо определить 2 переменные: например, A_old и A. В процессе обработки используются оба значения, затем происходит переприсвоение A_old = A; и вводится очередное, текущее значение переменной A. Необходимо следить, чтобы после прочтения последнего числа из файла циклический процесс завершался. Соответственно, чтобы обрабатывать тройки чисел, необходимо определить 3 переменные: например, A_old, A и A_next. В процессе обработки используются все три значения, затем происходит переприсвоение A_old = A; A = A_next; и вводится очередное, текущее значение переменной A_next.
|
Варианты заданий
Вари- ант |
Условия задания 1 |
Условия задания 2 |
Условия задания 3 |
|
Сообщить порядковый номер и значение числа, превосходящего все остальные по абсолютной величине |
В выходную последовательность записать только те числа, которые больше своих соседей (если первое число больше второго, то его надо записать, если второе число больше первого и третьего – надо записать второе число, если последнее больше предпоследнего – надо записать последнее число). |
Найти среднее арифметическое элементов последовательности |
|
Найти количество положительных, отрицательных и нулевых элементов в этой последовательности. |
В выходную последовательность записать только те числа, которые вместе с соседями составляют число N (если первое число в сумме со вторым даёт N, записываем первое число, если первое, второе и третье числа в сумме дают N, записываем второе число, если последнее и предпоследнее числа в сумме дают N, записываем последнее число) |
Найти минимальное число и его порядковый номер |
|
Найти среднее арифметическое положительных элементов данной последовательности. |
В выходную последовательность записать только те числа, которые меньше суммы своих соседей (если первое число меньше второго, записываем первое число; если второе число меньше суммы первого и третьего числа, записываем второе число, если последнее меньше предпоследнего, записываем последнее число) |
Найти максимальное чётное число и его порядковый номер, при отсутствии чётных чисел сообщить об этом |
|
Найти среднее арифметическое элементов последовательности, принадлежащих диапазону [a; b] |
В выходную последовательность записывать суммы соседних элементов (на 1 место – сумму первого и второго, на второе – сумму второго и третьего, на последнее – сумму предпоследнего и последнего). |
Найти первое отрицательное число и сообщить порядковый номер, в случае отсутствия отрицательных чисел сообщить об этом. |
|
Найти среднее арифметическое элементов последовательности, заканчивающихся цифрой «7». |
В выходную последовательность записать только числа, равные среднему арифметическому своих соседей (если первое число равно второму – записываем первое число, если второе число равно полусумме первого и третьего – записываем второе число, если последнее число равно предпоследнему – записываем последнее число). |
Найти полусумму первого и последнего положительных чисел, в случае отсутствия положительных чисел сообщить об этом. |
|
Указать пары соседних элементов данной последовательности {ai}, удовлетворяющих условию ai < ai+1 и количество таких пар |
В выходную последовательность записать только числа, заканчивающиеся цифрой «3» |
Найти среднее арифметическое положительных элементов последовательности |
|
Сообщить, имеется ли среди введённых чисел три подряд идущих элемента, которые могут являться длинами сторон треугольника и количество таких троек. |
В выходную последовательность записать только каждое третье число |
Найти минимальное положительное число и его порядковый номер, в случае отсутствия положительных числе сообщить об этом |
|
Указать пары соседних элементов данной последовательности, имеющих противоположные знаки и количество таких пар. |
В выходную последовательность записать только числа, по абсолютной величине превосходящие заданное число N |
Найти максимальное двузначное число и его порядковый номер, в случае отсутствия двузначных чисел сообщить об этом |
|
Указать соседние элементы, имеющие одинаковую чётность (оба чётные или оба нечётные), если таковых не обнаружится, вывести соответствующее сообщение. |
В выходную последовательность записать только числа, кратные N или являющиеся делителями числа N. |
Найти полусумму минимума и максимума. |
|
Указать те из чисел, которые в сумме с предыдущим и последующим элементами составляют N, если таковых не обнаружится, вывести соответствующее сообщение. |
В выходную последовательность записать только нечётные двузначные числа (отрицательные числа не рассматривать). |
Найти наименьшее из чисел, расположенных на чётных местах и сообщить его индекс. |
|
Найти количество элементов последовательности, кратных 5, которые по абсолютной величине не превосходят N (число элементов последовательности). |
В выходную последовательность записать только те числа, которые больше предыдущего, но меньше последующего (первое число записывается при условии, что оно меньше второго, последнее – при условии, что оно больше предпоследнего) |
Найти полусумму первого и последнего положительных чисел, в случае отсутствия чисел сообщить об этом. |
|
Указать пары соседних элементов данной последовательности, среднее арифметическое которых равно N и количество таких пар. |
В выходную последовательность записать только те числа, которые делятся на свою последнюю цифру. |
Найти первое отрицательное число и сообщить порядковый номер, в случае отсутствия отрицательных чисел сообщить об этом. |
|
Найти среднее арифметическое элементов последовательности, расположенных после первого нулевого элемента |
В выходную последовательность записать только положительные числа, кратные трём |
Найти полусумму минимума и максимума. |
|
Сообщить, имеется ли среди введённых чисел хотя бы три подряд идущих элемента, образующих возрастающую последовательность. |
В выходную последовательность записать только числа, по абсолютной величине не превосходящие заданное число N |
Найти наибольшее из чисел, расположенных на нечётных местах и сообщить его индекс. |
|
Указать пары соседних элементов данной последовательности, разность между которыми равна 2 и количество таких пар. |
В выходную последовательность записать только каждое второе нечётное число |
Найти максимальное число и его порядковый номер |