Файл: Лабораторная работа 2 по дисциплине Информатика и программирование студент фдо тусур направление подготовки 38. 03. 05.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 276
Скачиваний: 12
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования РФФедеральное государственное бюджетное образовательное учреждение высшего образованияТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТСИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)Факультет дистанционного обучения (ФДО)ЛАБОРАТОРНАЯ РАБОТА №2по дисциплине «Информатика и программирование»Выполнил:студент ФДО ТУСУРнаправление подготовки 38.03.05Шидловский Евгений ВасильевичТОМСК 2023Индивидуальный вариант №5В одномерном массиве, состоящем из n целых элементов, вычислить:
Задание В. Для решения задачи необходимо выполнить следующие действия: поочередно сравнить все элементы массива с заданным значением K, при этом записывать в отдельный массив элементы, равные K. После перебора всего массива мы выводим произведение элементов нового массива.Код программы, решающий поставленную задачу, может быть следующим:#include
#include
#include
int main() {
int const n = 100;
int arr[n];
int quantity = 0, product = 1, k, a, b, min = INT_MAX, max = INT_MIN, mini, maxi;
std::cout << "Enter k,a,b:\n"; std::cin >> k >> a >> b;
for (int i = 0; i < n; i++)
arr[i] = (time(NULL) * rand())%21; //заполнение массива случайными числами
for (int i = 0; i < n; i++) {
if (arr[i] == 0) quantity++;
if (arr[i] == k) product *= arr[i];
if (arr[i]<=a || arr[i]>=b) {
if (arr[i] > max) {
max = arr[i];
maxi = i;
}
if (arr[i] < min) {
min = arr[i];
mini = i;
}
}
}
std::cout << std::endl << "Your array:" << std::endl;
for (int i = 0; i < n; i++)
std::cout << arr[i] << ' ';
std::cout << std::endl << "Sum of zero-point elements:" << quantity << std::endl;
std::cout << "Sum of index max and min elements:" << maxi + mini << std::endl;
std::cout << "Product elements which equalent to " << k << " is:" << product << std::endl;
return 0;
}
Результаты тестирования программы
На прикрепленных ниже скриншотах, представлены экранные формы исправной работы программы:
-
количество нулевых элементов массива; -
сумму индексов максимального и минимального элементов массива, значения которых не попали в интервал [a, b], значения a, b задавать с клавиатуры; -
произведение элементов массива, равных заданному k.
Задание В. Для решения задачи необходимо выполнить следующие действия: поочередно сравнить все элементы массива с заданным значением K, при этом записывать в отдельный массив элементы, равные K. После перебора всего массива мы выводим произведение элементов нового массива.Код программы, решающий поставленную задачу, может быть следующим:#include
#include
#include
int main() {
int const n = 100;
int arr[n];
int quantity = 0, product = 1, k, a, b, min = INT_MAX, max = INT_MIN, mini, maxi;
std::cout << "Enter k,a,b:\n"; std::cin >> k >> a >> b;
for (int i = 0; i < n; i++)
arr[i] = (time(NULL) * rand())%21; //заполнение массива случайными числами
for (int i = 0; i < n; i++) {
if (arr[i] == 0) quantity++;
if (arr[i] == k) product *= arr[i];
if (arr[i]<=a || arr[i]>=b) {
if (arr[i] > max) {
max = arr[i];
maxi = i;
}
if (arr[i] < min) {
min = arr[i];
mini = i;
}
}
}
std::cout << std::endl << "Your array:" << std::endl;
for (int i = 0; i < n; i++)
std::cout << arr[i] << ' ';
std::cout << std::endl << "Sum of zero-point elements:" << quantity << std::endl;
std::cout << "Sum of index max and min elements:" << maxi + mini << std::endl;
std::cout << "Product elements which equalent to " << k << " is:" << product << std::endl;
return 0;
}
Результаты тестирования программы
На прикрепленных ниже скриншотах, представлены экранные формы исправной работы программы:
-
При введенных значениях k,a,b (2, -5, 10) в случайном массиве из 100 элементов, встречается два раза нулевое значение. Поэтому ниже выдается, что сумма нулевых элементов массива равна 3.
-
При введенных значениях k,a,b (5, -18, 6) в случайном массиве из 100 элементов, сумма индексов первого встречающегося максимального и минимального элемента массива, не вошедшие в интервал [-18;6], равно 97. Потому что минимальный элемент массива (-20), его индекс 5, а максимальный элемент (17), с индексом 92. Следовательно, их сумма будет равна 97.
-
При введенных значениях k,a,b (5, -18, 6) в случайном массиве из 100 элементов, значения равных заданному k встречаются два раза. Поэтому ниже выдается, что произведения элементов равных заданному k равно 25.