15

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];


}


Report Page