Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Статические массивы



Цель лабораторной работы: изучение структурной организации массивов и способов доступа к их элементам; совершенствование навыков процедурного программирования на языке C/С++ при решении задач обработки статических массивов.

Задание на программирование: используя технологию процедурного программирования, разработать программу обработки одномерных и двумерных (матриц) статических массивов в соответствии с индивидуальным заданием.

Порядок выполнения работы:

1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные, их ограничения.

2) Разработать математическую модель: описать с помощью формул и рисунков структуру массивов и процесс их преобразования.

3) Построить схему алгоритма решения задачи.

4) Составить программу на языке C/С++.

5) Входные данные на этапах тестирования и демонстрации работы преподавателю должны задаваться либо с использованием специально подобранных арифметических формул, либо вводиться с клавиатуры по запросу. Датчики псевдослучайных чисел использовать запрещается.

Выходные данные должны выводиться на экран с пояснениями.

6) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными. Входные и выходные массивы должны выводиться в одном и том же формате.

7) Использовать стандартные потоковые объекты ввода/вывода cin и cout.

8) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.


Варианты индивидуальных заданий

1.

1) Дан массив b0, b 1,…, b 2 n-1. Написать программу построения массивов x 0, x 1,…, xn-1 и y 0, y 1,…, yn-1, элементы которых равны соответственно значениям: b 1, b 3,…, b 2 n -1 и b 0, b 2,…, b 2 n-2.

2) В заданной матрице поменять местами первую строку и строку, содержащую наибольший элемент матрицы.

2.

1) Дан целочисленный массив a 0, a 1,…, am-1. Из абсолютных величин его элементов выбрать наибольшую. Далее построить массив, i -й элемент которого равен нулю, если | ai | не совпадает с выбранным значением, и равен 1 в противном случае.

2) В заданной матрице поменять местами последний столбец и столбец, содержащий наименьший положительный элемент матрицы.

3.

1) Написать программу построения массива с элементами:

a 0, a 0+ a 1, a 0+ a 1+ a 2, a 0+ a 1+ a 2+…+ an-1 по заданному массиву a 0, a 1,…, an-1.

2) В заданной матрице поменять местами строку, содержащую максимальный элемент матрицы, и строку, содержащую минимальный элемент матрицы.

4.

1) В вещественном массиве x 0, x 1,…, xn-1 заменить нулем все отрицательные элементы, предшествующие его максимальному элементу.

2) В заданной матрице поменять местами главную и побочную диагонали.

5.

1) Даны массивы a 0, a 1,…, an-1 и b 0, b 1,…, bn-1. Получить новый массив, элементы которого: a 0, b 0, a 1, b 1, a 2, b 2, …, an-1, bn-1.

2) В заданной матрице поменять местами первый столбец со столбцом, содержащим наибольший по абсолютной величине элемент матрицы.

6.

1) Дан вещественный массив x 0, x 1, x2,…, xm. Все его элементы, следующие за наибольшим элементом, заменить значением b.

2) В заданной матрице поменять местами среднюю строку и средний столбец.

7.

1) Даны вещественные массивы x 0, x 1,…, xn-1 и y 0, y 1,…, yn-1. Преобразовать их по правилу: большее из значений xi и yi принять в качестве нового значения xi, а меньшее – в качестве нового значения yi.

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей наибольший отрицательный элемент матрицы.

8.

1) Дан целочисленный массив a 0, a 1, a 2,…, an-1. Если в массиве нет ни одной компоненты с заданным значением К, то первую по порядку компоненту этого массива, не меньшую всех остальных компонент, заменить значением К.

2) В заданной матрице поменять местами первую строку и первый столбец.

9.

1) Написать программу, осуществляющую циклический сдвиг компонент массива x 0, x 1, x 2,…, xn-1 (n >2) на одну позицию влево, то есть получающую массив x 1, x 2, x 3,…, xn-1, x 0.

2) В заданной матрице поменять местами последний столбец со столбцом, содержащим наименьший положительный элемент матрицы.

10.

1) Дан вещественный массив a 0, a 1, a 2,…, an-1. Если в этом массиве есть хотя бы один элемент, значение которого меньше Р, то значения всех отрицательных элементов массива заменить их квадратами, в противном случае значений всех элементов массива умножить на число B.

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей наименьший по абсолютной величине элемент матрицы.

11.

1) Дан вещественный массив x 0, x 1, x 2,…, xn-1. Определить сумму и количество компонент этого массива, принадлежащих отрезку [ a, b ].

2) В заданной матрице поменять местами первый столбец со столбцом, содержащим наибольший по абсолютной величине элемент главной диагонали.

12.

1) Преобразовать массив а 0, а 1, а 2,…, аn-1 так, чтобы его элементы расположились в обратном порядке: аn-1, аn -2,…, а 0.

2) В заданной матрице поменять местами две строки: строку с указанным номером и строку, содержащую наименьший положительный элемент матрицы.

13.

1) Написать программу выбора среди элементов массива а 0, а 1, а 2,…, аn-1 наибольшего среди остающихся после выбрасывания наибольшего и всех ему равных. Предполагается, что не все элементы равны между собой.

2) В заданной матрице поменять местами последний столбец и побочную диагональ.

14.

1) Из массива а 0, а 1, а 2,…, а 3 n-1 получить массив b 0, b 1,…, bn-1, очередная компонента которого равна среднему арифметическому тройки очередных компонент массива а.

2) В заданной матрице поменять местами столбец, содержащий максимальный элемент матрицы, и столбец, содержащий минимальный элемент матрицы.

15.

1) Дан целочисленный массив b 0, b 1,…, bn-1. Если элементы этого массива не образуют убывающей последовательности, то заменить его отрицательные элементы единицами.

2) В заданной матрице поменять местами первую строку и строку, содержащую максимальный отрицательный элемент матрицы.

16.

1) Дан целочисленный массив а 0, а 1, а 2,…, аn-1, среди элементов которого могут быть равные. Из каждой группы равных между собой элементов нужно оставить только один, выбросив все остальные. Освободившийся хвост массива заполнить нулями.

2) В заданной матрице поменять местами первый столбец и побочную диагональ.

17.

1) Дан вещественный массив а 0, а 1, а 2,…, аn-1. Если в этом массиве есть хотя бы один элемент, принадлежащий отрезку [ x, y ], то все элементы, не принадлежащие этому отрезку, заменить значением К.

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей минимальный положительный элемент матрицы.

18.

1) Дан массив а 0, а 1, а 2,…, аn-1. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные.

2) В заданной матрице поменять местами последний столбец и столбец, содержащий минимальный по абсолютной величине элемент матрицы.

19.

1) Написать программу выполнения следующего задания: из всех непрерывных участков массива а 0, а 1, а 2,…, аn-1, состоящих из нулей, выбрать наибольший по длине. Вывести индексы его начала и конца.

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей максимальный отрицательный элемент матрицы.

20.

1) Написать программу, осуществляющую циклический сдвиг компонент массива

x 0, x 1,…, xn-1 на одну позицию вправо, то есть получающую массив xn-1, x 0, x 1,…, x n-2.

2) В заданной матрице поменять местами последний столбец со столбцом, содержащим максимальный элемент матрицы.

21.

1) Дан вещественный массив x 0, x 1, x 2,…, xm-1. Все его элементы, предшествующие наибольшему элементу, заменить значением c.

2) В заданной матрице поменять местами первую строку и главную диагональ.

22.

1) Дан вещественный массив x 0, x 1, x 2,…, xm-1. Все его положительные элементы, следующие за наименьшим элементом, заменить значением d.

2) В заданной матрице поменять местами главную диагональ и последний столбец.

23.

1) Дан массив b 0, b 1, b 2,…, b 2 m-1. Написать программу построения массива с элементами, соответственно равными: b 2 m-1, b 0, b 2 m -2, b 1, …, bm, bm-1.

2) В заданной матрице поменять местами столбец, содержащий максимальный отрицательный элемент матрицы, и столбец, содержащий минимальный положительный элемент матрицы.

24.

1) Дан массив а 0, а 1, а 2,…, а 2 n-1. Написать программу построения массива с элементами, соответственно равными: а 0, аn, а 1, а n +1,…, аn-1, a 2 n-1.

2) В заданной матрице поменять местами последний столбец и столбец, содержащий минимальный положительный элемент матрицы.

25.

1) Найти сумму и произведение всех элементов массива b 0, b 1, b 2,…, bm-1.

2) В заданной матрице из целых чисел поменять местами первую строку и строку, содержащую максимальный отрицательный элемент матрицы.

26.

1) Найти сумму положительных и число отрицательных элементов массива

а 0, а 1, а 2,…, аn-1.

2) В заданной матрице найти сумму элементов, принадлежащих главной диагонали, и произведение элементов, принадлежащих побочной диагонали.

27.

1) Написать программу вычисления числа положительных и суммы отрицательных элементов массива x 0, x 1, x 2,…, xm-1.

2) В заданной матрице целых чисел найти сумму элементов, лежащих по её периметру (принадлежащих первой и последней строке и первому и последнему столбцу матрицы).

28.

1) Заданы упорядоченный по возрастанию массив y 0 < y 1 <…< ym-1 и величина x. Известно, что y 0 < x < ym-1. Написать программу определения целого числа К, удовлетворяющего условию: yk -1 < x < yk.

2) В заданной матрице целых чисел найти сумму элементов, лежащих выше главной диагонали.





Дата публикования: 2015-09-18; Прочитано: 299 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...