Вывести массив, состоящий из 12 элементов действительного типа, Расположить элементы в порядке убывания. Вычислить сумму максимального и минимального элементов массива.
C++ помогите пожалуйста...
Ответы
Відповідь:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(float *array,int size_arr){
for(int i = 0; i < size_arr; i++){
array[i] = (double)(rand() % 100) / (double)100 + (double)(rand() % 100);
}
}
void printarr(float *array,int size_arr){
for(int i = 0; i < size_arr; i++){
cout << array[i] << " ";
}
}
void sort_max_to_min(float *array,int size_arr){
for(int i = size_arr - 1; i > 0; i--){
for(int j = 0;j < i; j++){
if(array[j] > array[j + 1]){
swap(array[j],array[j + 1]);
}
}
}
}
float max_elements(float *array,int size_arr){
float max = array[0];
for(int i = 0; i < size_arr; i++){
if(array[i] > max){
max = array[i];
}
}
return max;
}
float min_elements(float *array,int size_arr){
float min = array[0];
for(int i = 0; i < size_arr; i++){
if(array[i] < min){
min = array[i];
}
}
return min;
}
const int size = 12;
int main(){
srand(time(NULL));
setlocale(LC_ALL , "Rus");
float arr[size];
cout << "Массив: ";
randarr(arr,size);
printarr(arr,size);
cout << "Сортировка: ";
sort_max_to_min(arr,size);
printarr(arr,size);
float sum_min_max = max_elements(arr,size) + min_elements(arr,size);
cout << "Сумма минимального и максимального елемента: " << sum_min_max << endl;
return 0;
}
Пояснення: