Розробити програму, дотримуючись таких вимог:
- використовувати статичні масиви;
- число n (кількість елементів масиву) - іменована константа, яка
дорівнює 50;
- елементи масиву - псевдовипадкові числа, згенеровані на інтервалі [a,
b], де a і b вводяться з клавіатури (a
і за значенням вони дорівнюють номеру студента за списком помножене на
30);
- усі вхідні дані і також елементи масиву виводяться на екран.
В одновимірному масиві, що складається з n дійсних елементів, обчислити:
1. максимальний за модулем елемент масиву;
2. суму елементів масиву, розташованих між першим і другим додатними
елементами;
3. добуток елементів масиву з парними номерами, які не дорівнюють 0;
Ответы
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int N = 50; // Кількість елементів масиву
int main() {
// Введення інтервалу генерації псевдовипадкових чисел
cout << "Enter the range for generating random numbers (student number * 30): ";
int a, b;
cin >> a >> b;
// Ініціалізація генератора псевдовипадкових чисел
srand(time(0));
// Заповнення та виведення масиву
int arr[N];
cout << "Array: ";
for (int i = 0; i < N; i++) {
arr[i] = a + rand() % (b - a + 1);
cout << arr[i] << " ";
}
cout << endl;
// Максимальний за модулем елемент масиву
int maxAbs = abs(arr[0]);
for (int i = 1; i < N; i++)
{
int absVal = abs(arr[i]);
if (absVal > maxAbs) {
maxAbs = absVal;
}
}
cout << "Max element by absolute value: " << maxAbs << endl;
// Сума елементів масиву, розташованих між першим і другим додатними елементами
int sum = 0;
bool foundFirstPositive = false;
for (int i = 0; i < N; i++) {
if (arr[i] > 0) {
if (!foundFirstPositive) {
foundFirstPositive = true;
}
else {
break;
}
}
else if (foundFirstPositive) {
sum += arr[i];
}
}
cout << "Sum of elements between first and second positive elements: " << sum << endl;
// Добуток елементів масиву з парними номерами, які не дорівнюють 0
int product = 1;
for (int i = 0; i < N; i++) {
if (i % 2 == 0 && arr[i] != 0) {
product *= arr[i];
}
}
cout << "Product of elements with even indices not equal to 0: " << product << endl;
return 0;
}