
Помогите с заданием в С++ Значения массива формируется с использованием генератора случайных
чисел. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. количество элементов массива, меньших С; 2. сумму элементов массива, расположенных после максимального элемента. Упорядочить элементы массива по возрастанию модулей элементов.

Ответы на вопрос

Відповідь:#include<iostream>
#include<random>
#include<cmath>
#include<string>
#include<ctime>
void sort(float mas[],float t){
int n=0;
for(int j=0;j<(int)t;j++){
for(int i=0;i<((int)t)-1-n;i++){
if(abs(mas[i])>abs(mas[i+1])){
float temp = mas[i+1];
mas[i+1] = mas[i];
mas[i]=temp;
}
}n++;}
}
void enter(std::string phrase[],float numberOfPhrase[]){
for(short i=0;i<4;i++){
std::cout<<phrase[i]<<std::endl;
std::cin>>numberOfPhrase[i];}
};
int main(){
int count = 0,max=0;
setlocale(0,"");
std::string phrases[4] = {"Введите количество элементов массива:",
"Введите минимальный предел:",
"Введите максимальный предел:",
"Введите число для сравнения с элементами массива:"};
float number_of_var[4];
double sum=0;
enter(phrases,number_of_var);
float* numbers = new float[static_cast<int>(number_of_var[0])];
std::mt19937 gen(time(0));
std::uniform_real_distribution<> uid(number_of_var[1],number_of_var[2]);
for(int i=0;i<number_of_var[0];i++){
numbers[i] = uid(gen);
std::cout<<"["<<i<<"] = "<<numbers[i]<<std::endl;
if(numbers[i]<number_of_var[3]) count++;
if(numbers[max] == numbers[i]) continue;
else if(numbers[max]<numbers[i]) max=i;
}
for(int i = max+1;i<(int)number_of_var[0];i++){
sum+=numbers[i];
}
std::cout<<"Чисел, меньших за "<<number_of_var[3]<<" - "<<count<<" чис-ел/-ло/-ла"<<std::endl;
std::cout<<"Максимальное число массива = "<<numbers[max]<<". Сумма чисел после него = "<<sum<<std::endl;
sort(numbers,number_of_var[0]);
std::cout<<"Отсортированный масив:"<<std::endl;
for(int i=0;i<(int)number_of_var[0];i++){
std::cout<<"["<<i<<"] = "<<numbers[i]<<std::endl;
}
delete[]numbers;
return 0;
}



Задание:
Дан одномерный массив, состоящий из n вещественных элементов. Необходимо выполнить следующие действия:
1. Вычислить количество элементов массива, которые меньше заданного значения C. 2. Вычислить сумму элементов массива, которые расположены после максимального элемента. 3. Упорядочить элементы массива по возрастанию модулей элементов.
Решение:
Для решения данной задачи, можно использовать следующий алгоритм:
1. Сгенерировать массив случайных вещественных чисел. 2. Найти количество элементов массива, которые меньше заданного значения C. 3. Найти индекс максимального элемента в массиве. 4. Вычислить сумму элементов массива, которые расположены после максимального элемента. 5. Отсортировать элементы массива по возрастанию модулей элементов.
Подробное решение:
1. Генерация массива случайных вещественных чисел: - Для генерации массива случайных чисел можно использовать генератор случайных чисел, который будет генерировать числа в заданном диапазоне. В данном случае, массив состоит из n вещественных элементов, поэтому можно использовать функцию генерации случайных чисел в заданном диапазоне для заполнения массива. - Пример кода на языке C++ для генерации массива случайных вещественных чисел:
```cpp
#include
2. Вычисление количества элементов массива, которые меньше заданного значения C: - Для этого необходимо пройти по всем элементам массива и подсчитать количество элементов, которые меньше значения C. - Пример кода на языке C++ для вычисления количества элементов массива, которые меньше заданного значения C:
```cpp
#include
3. Вычисление суммы элементов массива, которые расположены после максимального элемента: - Для этого необходимо найти индекс максимального элемента в массиве и просуммировать элементы, которые находятся после него. - Пример кода на языке C++ для вычисления суммы элементов массива, которые расположены после максимального элемента:
```cpp
#include
4. Упорядочивание элементов массива по возрастанию модулей элементов: - Для этого можно использовать стандартную функцию сортировки, например, функцию `std::sort` в C++. - Пример кода на языке C++ для упорядочивания элементов массива по возрастанию модулей элементов:
```cpp
#include
Примечание:
- В приведенных примерах кода использован язык программирования C++. Если вы используете другой язык программирования, то синтаксис может отличаться. - В примерах кода не приведена генерация значения C. Пожалуйста, уточните, какое значение C необходимо использовать для выполнения задания.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili