Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5010

.pdf
Скачиваний:
3
Добавлен:
05.02.2023
Размер:
1.02 Mб
Скачать

Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине

— элементы, стоявшие в четных позициях. Размер и элементы массива задавать с клавиатуры.

Вариант 8

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

номер минимального элемента массива;

сумму элементов массива, расположенных между первым и вторым

отрицательными элементами.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные. Размер и элементы массива задавать с клавиатуры.

Вариант 9

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

максимальный по модулю элемент массива;

сумму элементов массива, расположенных между первым и вторым

положительными элементами.

Преобразовать массив таким образом, чтобы элементы, равные нулю,

располагались после всех остальных. Размер и элементы массива задавать с клавиатуры.

Вариант 10

В одномерном массиве, состоящем из п целых элементов, вычислить:

минимальный по модулю элемент массива;

21

сумму модулей элементов массива, расположенных после первого

элемента, равного нулю.

Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях. Размер и элементы массива задавать с клавиатуры.

Вариант 11

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

номер минимального по модулю элемента массива;

сумму модулей элементов массива, расположенных после первого отрицательного элемента.

Сжать массив, удалив из него все элементы, величина которых находится в интервале [а,b]. Освободившиеся в конце массива элементы заполнить нулями.

Размер и элементы массива задавать с клавиатуры.

Вариант 12

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

номер максимального по модулю элемента массива;

сумму элементов массива, расположенных после первого положительного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а,b], а потом — все остальные. Размер и элементы массива задавать с клавиатуры.

22

Вариант 13

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

количество элементов массива, лежащих в диапазоне от А до В;

сумму элементов массива, расположенных после максимального элемента.

Упорядочить элементы массива по убыванию модулей элементов. Размер и элементы массива задавать с клавиатуры.

Вариант 14

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

количество элементов массива, равных 0;

сумму элементов массива, расположенных после минимального элемента.

Упорядочить элементы массива по возрастанию модулей элементов.

Размер и элементы массива задавать с клавиатуры.

Вариант 15

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

количество элементов массива, больших С;

произведение элементов массива, расположенных после

максимального по модулю элемента.

Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные 0,

считать положительными). Размер и элементы массива задавать с клавиатуры.

23

Вариант 16

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

количество отрицательных элементов массива;

сумму модулей элементов массива, расположенных после минимального по модулю элемента.

Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию. Размер и элементы массива задавать с клавиатуры.

Вариант 17

В одномерном массиве, состоящем из п целых элементов, вычислить:

количество положительных элементов массива;

сумму элементов массива, расположенных после последнего элемента,

равного нулю.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом — все остальные. Размер и элементы массива задавать с клавиатуры.

Вариант 18

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

количество элементов массива, меньших С;

сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом — все остальные. Размер и элементы массива задавать с клавиатуры.

24

Вариант 19

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

произведение отрицательных элементов массива;

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

Изменить порядок следования элементов в массиве на обратный. Размер и элементы массива задавать с клавиатуры.

Вариант 20

В одномерном массиве, состоящем из п вещественных элементов» вычислить:

произведение положительных элементов массива;

сумму элементов массива, расположенных до минимального элемента.

Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.

Вариант 21

В одномерном массиве, состоящем из п целых элементов, вычислить:

количество элементов массива, не превышающих заданного числа N;

произведение элементов массива, расположенных после последнего

элемента, равного нулю.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные. Размер и элементы массива задавать с клавиатуры.

Вариант 22

25

В одномерном массиве, состоящем из п вещественных элементов,

вычислить:

количество элементов массива, больших С1, но меньших С2, причем

(С2>C1);

сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 30%, а потом — все остальные. Размер и элементы массива задавать с клавиатуры.

26

Лабораторная работа № 3. Многомерные массивы

Цель работы – получение навыков работы с многомерными массивами в

С++.

Методические указания

Для выполнения лабораторной работы необходимо изучить следующие разделы курса лекций:

1.5.3.2 Динамические массивы;

1.5.3.3 Многомерные массивы;

Динамические массивы создают с помощью операции new, при этом необходимо указать тип и размерность. Преимущество динамических массивов состоит в том, что размерность может быть переменной, то есть объем памяти,

выделяемой под массив, определяется па этане выполнения программы. Доступ к элементам динамического массива осуществляется точно так же, как к элементам статического массива.

Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор

int matr [6][8];

задает описание двумерного массива из 6 строк и 8 столбцов. В памяти такой массив располагается в последовательных ячейках построчно. Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс.

Для создания динамического многомерного массива необходимо указать в операции new все его размерности (самая левая размерность может быть переменной).

Пример выполнения лабораторной работы

Задание:

Дана целочисленная прямоугольная матрица. Определить:

количество строк, не содержащих ни одного нулевого элемента;

27

максимальное из чисел, встречающихся в заданной матрице более одного

раза.

Размер и элементы матрицы задавать с клавиатуры. Оформить каждый пункт задания в виде отдельной функции и организовать правильный вызов функций.

Листинг программы:

#include <iostream> #include <limits.h> using namespace std;

bool Find(int val, int* ar, int size, int pos = 0)

{

for(int i = pos; i < size; i++) if(ar[i] == val)

return true;

return false;

}

int main()

{

setlocale(0, "rus"); int n, m, **matr; cout<<"n = "; cin>>n;

cout<<"m = "; cin>>m;

matr=new int*[n]; for(int i=0; i<n; i++)

{

matr[i]=new int[m]; for(int j=0; j<m; j++)

{

cout<<"["<<i<<"]["<<j<<"] = "; cin>>matr[i][j];

}

}

int count = 0;

int max_val = INT_MIN; for(int i = 0; i < n; i++)

{

count += (int)!Find(0, matr[i], n); for(int j = 0; j < n; j++)

if(matr[i][j] > max_val) max_val = matr[i][j];

}

cout << "Количество строк, не содержащих нулей: " << count << endl; cout << "Максимальный повторяющийся элемент: " << max_val << endl; _gettch();

return 0;

}

28

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

Вариант 1

Дана целочисленная прямоугольная матрица. Определить:

количество строк, не содержащих ни одного нулевого элемента;

максимальное из чисел, встречающихся в заданной матрице более одного раза.

Размер и элементы матрицы задавать с клавиатуры. Оформить каждый пункт задания в виде отдельной функции и организовать правильный вызов функций.

Вариант 2

Дана целочисленная прямоугольная матрица. Определить количество столбцов,

не содержащих ни одного нулевого элемента. Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов.

Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.

Размер и элементы матрицы задавать с клавиатуры.

Оформить каждый пункт задания в виде отдельной функции и организовать правильный вызов функций.

Вариант 3

Дана целочисленная прямоугольная матрица. Определить;

количество столбцов, содержащих хотя бы один нулевой элемент;

номер строки, в которой находится самая длинная серия одинаковых

элементов.

Размер и элементы матрицы задавать с клавиатуры.

Оформить каждый пункт задания в виде отдельной функции и организовать правильный вызов функций.

29

Вариант 4

Дана целочисленная квадратная матрица. Определить:

произведение элементов в тех строках, которые не содержат отрицательных элементов;

максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

Размер и элементы матрицы задавать с клавиатуры.

Оформить каждый пункт задания в виде отдельной функции и организовать правильный вызов функций.

Вариант 5

Дана целочисленная квадратная матрица. Определить:

сумму элементов в тех столбцах, которые не содержат отрицательных элементов;

минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

Размер и элементы матрицы задавать с клавиатуры.

Оформить каждый пункт задания в виде отдельной функции и организовать правильный вызов функций.

Вариант 6

Дана целочисленная прямоугольная матрица. Определить:

сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент;

номера строк и столбцов всех седловых точек матрицы.

Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i-й строке и максимальным в j-м столбце.

Размер и элементы матрицы задавать с клавиатуры.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]