Статические одномерные массивы
Цель лабораторной работы: изучение структурной организации массивов и способов доступа к их элементам; совершенствование навыков процедурного программирования на языке C/C++ при решении задач обработки статических одномерных массивов.
Задание на программирование: используя технологию процедурного программирования, разработать программу обработки одномерных статических массивов в соответствии с индивидуальным заданием.
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные, их ограничения.
2) Разработать математическую модель: описать с помощью формул и рисунков структуру массивов и процесс их преобразования.
3) Построить схему алгоритма решения задачи.
4) Составить программу на языке C/C++.
5) Входные данные на этапах тестирования и демонстрации работы преподавателю должны задаваться либо с использованием специально подобранных арифметических формул, либо вводиться с клавиатуры по запросу. Датчики псевдослучайных чисел использовать запрещается.
Выходные данные должны выводиться на экран с пояснениями.
6) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными. Входные и выходные массивы должны выводиться в одном и том же формате.
|
|
7) Использовать стандартные потоковые объекты ввода/вывода cin и cout.
8) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий
1.
Дан массив b0, b1,…, b2n-1. Написать программу построения новых массивов x0, x1,…, xn-1 и y0, y1,…,yn-1, значения элементов которых соответственно равны значениям b1, b3,…, b2n-1 и b0, b2,…, b2n-2.
2.
Дан целочисленный массив a0, a1,…, am-1. Из абсолютных величин его элементов выбрать наибольшую. Далее построить массив, i-й элемент которого равен нулю, если |ai| не совпадает с выбранным значением, и равен 1 в противном случае.
3.
Написать программу построения по заданному массиву a0, a1,…, an-1 нового массива, значения элементов которого равны a0, a0+a1, a0+a1+a2, , a0+a1+a2+…+an-1.
4.
В вещественном массиве x0, x1,…, xn-1 заменить нулём значения всех его отрицательных элементов, предшествующих его максимальному элементу.
5.
Даны массивы a0, a1,…, an-1 и b0, b1,…, bn-1. Получить новый массив, значения элементов которого соответственно равны a0, b0, a1, b1, a2, b2, …, an-1, bn-1.
6.
Дан вещественный массив x0, x1, x2,…, xm. Значения всех его элементов, следующих за элементом с наибольшим значением, заменить величиной b.
|
|
7.
Даны вещественные массивы x0, x1,…, xn-1 и y0, y1,…, yn-1. Преобразовать их по правилу: большее из значений xi и yi принять в качестве нового значения xi, а меньшее – в качестве нового значения yi.
8.
Дан целочисленный массив a0, a1, a2,…, an-1. Если в массиве нет ни одной компоненты с заданным значением К, то первую по порядку компоненту этого массива, не меньшую всех остальных компонент, заменить значением К.
9.
Написать программу, осуществляющую циклический сдвиг компонент массива x0, x1, x2,…, xn-1 (n>2) на одну позицию влево, то есть получающую массив x1, x2, x3,…, xn-1, x0.
10.
Дан вещественный массив a0, a1, a2,…, an-1. Если в этом массиве есть хотя бы один элемент, значение которого меньше Р, то значения всех отрицательных элементов массива заменить их квадратами, в противном случае значений всех элементов массива умножить на число B.
11.
Дан вещественный массив x0, x1, x2,…, xn-1. Определить сумму и количество компонент этого массива, принадлежащих отрезку [a,b].
12.
Преобразовать массив а0, а1, а2,…, аn-1 так, чтобы его элементы расположились в обратном порядке: аn-1, аn-2,…, а0.
13.
Написать программу выбора среди элементов массива а0, а1, а2,…, аn-1 наибольшего среди остающихся после выбрасывания наибольшего и всех ему равных. Предполагается, что не все элементы равны между собой.
|
|
14.
Из массива а0, а1, а2,…, а3n-1 получить массив b0, b1,…, bn-1, очередная компонента которого равна среднему арифметическому тройки очередных компонент массива а.
15.
Дан целочисленный массив b0, b1,…, bn-1. Если значения элементов этого массива не образуют убывающей последовательности, то заменить значения его отрицательных элементов единицами.
16.
Дан целочисленный массив а0, а1, а2,…, аn-1, среди элементов которого могут быть равные. Преобразовать исходный массив, оставив в каждой группе равных между собой элементов только один, выбросив все остальные. Освободившийся хвост массива заполнить нулями. Дополнительный массив не использовать.
17.
Дан вещественный массив а0, а1, а2,…, аn-1. Если в этом массиве есть хотя бы один элемент со значением, принадлежащим отрезку [x, y], то значения всех элементов, принадлежащие этому отрезку, заменить величиной К.
18.
Дан массив а0, а1, а2,…, аn-1. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные, сохранив при этом относительный порядок их следования. Дополнительный массив не использовать.
|
|
19.
Написать программу выполнения следующего задания: из всех непрерывных участков массива а0, а1, а2,…, аn-1, состоящих из нулей, выбрать наибольший по длине. Вывести индексы его начала и конца.
20.
Написать программу, осуществляющую циклический сдвиг компонент массива
x0, x1,…, xn-1 на одну позицию вправо, то есть получающую массив xn-1, x0, x1,…, xn-2.
21.
Дан вещественный массив x0, x1, x2,…, xm-1. Значения всех его элементов, предшествующих элементу с наибольшим значением, заменить величиной c.
22.
Дан массив x0, x1, x2,…, xm-1. Все положительные значения его элементов, следующих за элементом с наименьшим значением, заменить величиной d.
23.
Дан массив b0, b1, b2,…, b2m-1. Написать программу построения нового массива с элементами, значения которых соответственно равны b2m-1, b0, b2m-2, b1, …, bm, bm-1. Исходный массив оставить без изменения.
24.
Дан массив а0, а1, а2,…, а2n-1. Написать программу построения нового массива с элементами, значения которых соответственно равны а0, аn, а1, аn+1,…, аn-1, a2n-1. Исходный массив оставить без изменения.
25.
Найти сумму и произведение значений всех элементов массива b0, b1, b2,…, bm-1.
26.
Найти сумму положительных и число отрицательных элементов массива
а0, а1, а2,…, аn-1.
27.
Написать программу вычисления числа элементов с положительными значениями и суммы отрицательных значений элементов массива x0, x1, x2,…, xm-1.
28.
Задан упорядоченный по возрастанию массив y0 < y1 <…< ym-1 и величина x. Известно, что y0 < x < ym-1. Написать программу определения целого числа К, удовлетворяющего условию: yk-1 < x < yk.
29.
Дан массив b0, b1, b2,…, b2m-1. Переставить элементы этого массива так, чтобы значения его элементов были соответственно равны b2m-1, b0, b2m-2, b1, …, bm, bm-1. Дополнительный массив не использовать.
30.
Дан массив а0, а1, а2,…, а2n-1. Переставить элементы этого массива так, чтобы значения его элементов были соответственно равны а0, аn, а1, аn+1,…, аn-1, a2n-1. Дополнительный массив не использовать.
Дата добавления: 2018-04-05; просмотров: 784; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!