15
#include "clocale"
#include "iostream"
#include "math.h"
//В одномерном массиве, состоящем из n целых элементов:
//1)Номер максимального элемента
//2)Произведение элементов между первым и вторым нулем в массиве
//3)Преобразовать массив, чтобы сначала располагались элементы на нечетных позициях, а потом на четных
using namespace std;
void Vvod(float arr[],int); //Функция ввода с клавиатуры
void Viv(float arr[],int); //Функция вывода массива
int max(float arr[],int); //Поиск номера максимального элемента в массиве
void zero(float* arr,int); //Функция расчета произведения между первым и вторым нулем в массиве
void sort(float arr[],int); //Функция преобразования массива
int main(){
int k;
const int n = 10;
setlocale(LC_ALL, "Russian");
cout << "Заполните массив: "<< endl;
float arr[n];
Vvod(arr,n);
cout << "Исходный массив: " << endl;
Viv(arr,n);
k = max(arr,n);
cout << "Номер максимального элемента = " << k << endl;
zero(arr,n);
sort(arr,n);
cout << "Преобразованный массив: " << endl;
Viv(arr, n);
return 0;
}
void Vvod(float arr[],int n) {
for (int i = 0; i < n; i++)
cin >> arr[i];
}
void Viv(float arr[],int n) {
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
}
int max(float arr[],int n) {
float max = arr[0];
int num = 0;
for (int i = 0; i < n; i++)
if (max < arr[i]) {
max = arr[i];
num = i;
}
return num;
}
void zero(float arr[],int n) {
int c = -1, c1 = -1;
float prod = 1;
for (int i = 0; i < n; i++) {
if (arr[i] == 0) {
c = i;
break;
}
}
for (int i = 0; i < n; i++) {
if ((arr[i] == 0) && (c != i)) {
c1 = i;
break;
}
}
if (c == -1 || c1 == -1)
cout << "В массиве всего один 0" << endl;
else if (c1 - c == 1)
cout << "Между нулями нет элементов" << endl;
else {
for (int i = c + 1; i < c1; i++)
prod *= arr[i];
cout << "Произведение между нулями = " << prod << endl;
}
}
void sort(float* arr, int n) {
float* nw = new float[n];
int c = 0;
for (int i = 0; i < n; i++)
if (i % 2 != 0) {
nw[c] = arr[i];
c++;
}
for (int i = 0; i < n; i++)
if (i % 2 == 0) {
nw[c] = arr[i];
c++;
}
for (int i = 0; i < n; i++)
arr[i] = nw[i];
}