ЛабораторныеСи / Лабораторная 4
.pdfЛабораторная работа №4 Обработка массивов
Цель работы:
Ознакомиться с обработкой одномерных и двумерных массивов с использованием операторов цикла.
Порядок выполнения работы:
В соответствии с поставленной задачей разработать графическую схем алгоритма, составить программу и отладить ее в среде С++, подготовить отчет, ответить на контрольные вопросы и защитить лабораторную работу перед преподавателем.
Содержание отчета:
Выполнение каждой работы завершается написанием отчета, включающего следующие разделы:
1.Задание.
2.Блок – схема алгоритма решения задачи и ее описание.
3.Текст программы.
4.Результаты работы программы.
5.Выводы.
Варианты заданий:
1.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. Отсортировать массивы Х-по возрастанию, Y- по убыванию.
2.Вычислить значение функции y(x) по формуле:
|
7 |
|
2 |
− xi |
|
cos x∑ |
xi |
, x < 0 |
|||
2 |
+1 |
||||
|
i=1 i |
|
|||
y(x) = |
|
|
(x3 −i2 ), x ≥ 0 |
||
0.15x2 ∑7 |
|||||
|
i=0 |
|
|
|
Организовать печать значений x и y. x ={−3;−2;−1;0;1;2;3}
3.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. По массиву Х-найти сумму всех элементов с четными номерами, по массиву Y- с нечетными.
4.Составить программу для вычисления Q = SL , где S-сумма всех четных
элементов вектора X ; L-произведение первых 3-x нечетных элементов вектора X . Вектор
Xзадан X ={3.6;4.8;5.1;−1.4;0.98;6.4;9.8;−3.6;7.4;8.8;7.7}
5.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. По массиву
Х- найти самый большой элемент и вывести его и его номер на экран, по массиву Y - самый маленький.
6. С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 100 соответственно. По массиву Х - найти сумму первых 20 членов, по массиву Y – сумму 10 последних.
7. Компоненты вектора Z = Zk , k =1K10 находятся по формуле Zk = k1! . Найти
10
значение e =1+∑Zk .
k=1
8.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 100 соответственно. По массиву Х - найти сумму всех элементов с четными номерами, по массиву Y – сумму всех элементов с нечетными номерами.
9.Массив X образуют натуральные числа от 1 до 400, кратные 5. Составить программу для нахождения:
а) суммы всех элементов массива X ;
б) произведение первых 10 элементов массива X .
10.Массив Y образуют натуральные числа от 1 до 100. Определить максимальное значение суммы первых n-элементов данного вектора не превышающей 1000. На печать вывести величину суммы вместе со значением последнего элемента, входящим в эту сумму.
11.Задана квадратная матрица A=(aij). Составить программу для нахождения суммы элементов матрицы, находящихся на главной ее диагонали элементов матрицы
|
|
|
|
0.1 |
0.5 |
1.3 |
6.4 |
|
|
|
|
|
||||||
|
|
|
|
|
0.5 |
1.2 |
4.6 |
7.4 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
A = |
1.6 |
3.8 |
5.4 |
8.3 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
5.1 |
6.7 |
8.4 |
9.8 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
12. |
Составить программу для нахождения расстояния между двумя точками в n- |
|||||||||||||||||
мерном пространство по формуле: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
L = (x |
− y )2 +(x |
2 |
− y |
2 |
)2 +K+(x |
n |
− y |
n |
)2 , n =3 |
|
||||||
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
X ={1.1;2.2;3.3} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
={−1.1;2.2;8.6} |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
13. |
Вычислить след заданной матрицы A=(aij) по формуле S = ∑n |
aii . Разделить все |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i=1 |
|
элементы матриц: A на S. Исходную и преобразованную матрицы вывести на печать. |
||||||||||||||||||
|
|
|
|
|
|
1.1 |
|
2.2 |
0.7 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
3 |
|
4 |
6.4 |
|
|
|
|
|
|
||
|
|
|
|
|
A = |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
5.4 |
14 |
|
|
|
|
|
|
||
|
|
|
|
|
|
1.3 |
|
|
|
|
|
|
|
14. Составить программу для нахождения минимального элемента заданного вектора X = (xi ), i =1,2,3,4,5,6,7,8. На печать вывести значение этого элемента с его
порядковым номером. X ={−1.4;0.6;6.7;−1.5;3.4;10.7;−3.4;6.1}
15.Массив Y состоит из чисел от 1 до 200, кратных 13. а) найти произведение всех элементов массива Y
б) найти сумму всех нечетных элементов массива Y
16.Составить программу для транспонирования заданной матрицы A=(aij) по формуле bij=aji, где bij -элементы транспонированной матрицы. На печать вывести исходную
итранспонированную матрицы.
4.4 |
0.6 |
5.3 |
|
|
|
1.7 |
5.5 |
0 |
|
A = |
|
|||
|
3.4 |
1.8 |
6.6 |
|
|
|
17.Составить программу для нахождения максимального элемента заданного
вектора |
Y |
= ( yi ), i =1,2,3,4,5,6,7,8,9,10 и вывода его значения вместе |
с его индексом. |
||
|
|
={−1.4;1.7;0.8;3.4;−0.6;2.4;5.6;7.7;6.4;1.4} |
|
||
Y |
|
||||
18. |
Вычислить компоненты массива A=(aij) по формуле aij = |
1+i + j . На печать |
|||
вывести полученную матрицу и суммы элементов каждой ее строки. |
|
||||
19. |
Компонентами вектора B=(bj) являются суммы элементов j-го столбца матрицы |
A=(aij). Вывести на печать массивы А и В, если элементы матрицы находятся по формуле
aij=1+i+j; |
i=1,2,3,4,5; |
j=1,2,3,4 |
|
|
||
20. |
Задан вектор |
|
= (xi ) . Найти сумму всех |
его элементов, |
для которых |
|
X |
||||||
выполняется условие |
a ≤ xi ≤b . Значение суммы вместе |
с количеством |
ее слагаемых |
вывести на печать. a = 2; b =8 X ={2.2;0.6;4.8;9.4;0.1;7.3;5.4;6.3;1.7;8.3}
21.Заданы координаты вершин треугольника: A(10;10;10), B(5;5;-5) и C(7;-7;7). Составить программу для вычисления длин всех его сторон.
22.Дана матрица A=(aij); i=1,…,N; j=1,…,M. Составить программу для нахождения суммы тех элементов матрицы, сумма индексов которых является четным числом.
1 |
5 |
8 |
13 |
19 |
||
|
27 |
31 |
43 |
47 |
53 |
|
|
|
|||||
A = |
55 |
59 |
61 |
68 |
74 |
|
|
|
|||||
|
79 |
85 |
91 |
95 |
99 |
|
|
|
23. |
Составить программу для вычисления суммы модулей компонент вектора |
||||
|
|
|
|
sin i, |
при cosi ≤ 0.5 |
Z ={ } Значения компонент вектора Z вычисляются по формуле: Zi = |
при cosi < 0.5 |
||||
|
|
|
|
ctgi, |
i=1,…9.Полученный вектор Z вместе с суммой вывести на печать.
24.Составить программу для вычисления коэффициента корреляции по формуле:
|
|
N |
|
|
|
|
N |
|
N |
|
|
|
|
|
|
|
∑xi yi − |
∑xi |
∑yi |
|
|
|
|
||||||
Q = |
|
i=1 |
|
|
i=1 |
i=1 |
|
|
|
|
|
|||
N |
|
N |
2 |
|
N |
|
|
N |
2 |
|
||||
|
N ∑xi2 − |
|
∑xi |
|
N ∑yi2 − |
|
∑yi |
|
||||||
|
|
i=1 |
i=1 |
|
|
|
i=1 |
|
i=1 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
для следующих значений X ={12;14;15;20;18;21;22;19;28;30;22;17}
Y={10;15;13;17;28;36;24;17;19;16;21;23}
25.Составить программу для нахождения всех элементов заданной
последовательности Y = ( yi ), i =1,..., N ,для которых выполняется условие: a ≤ yi ≤b N=12; a=0.5; b=9.5. Напечатать значения этих элементов с указанием их индексов.
Y={6.4;5.8;−0.5;0.4;0.6;9.2;3.4;10.1;9.6;4.5;10.5}
26.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 100 соответственно. По массиву Х - найти сумму всех элементов с четными номерами, по массиву Y – сумму всех элементов с нечетными номерами.
27.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 100 соответственно. По массиву Х - найти сумму первых 50 членов, по массиву Y – сумму 20 последних.
28.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. По массиву Y - найти самый большой элемент и вывести его и его номер на экран, по массиву X - самый маленький.
29.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. По массиву Y - найти сумму всех элементов с четными номерами, по массиву X - с нечетными.
30.С помощью датчика случайных чисел сформировать два массива X и Y размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. Отсортировать массивы Х-по убыванию, Y- по возрастанию.
Контрольные вопросы:
1.Дайте определение массива.
2.Чем отличается индекс массива от элемента массива?
3.Чем матрица отличается от одномерного массива?
4.Как изменяются индексы элементов матрицы, лежащих выше главной диагонали?
5.Как описываются и инициализируются одномерные и двумерные массивы?