5010
.pdfПреобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине
— элементы, стоявшие в четных позициях. Размер и элементы массива задавать с клавиатуры.
Вариант 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