Задача ** C++:В одномерном массиве, состоящем из n вещественных элементов, вычислить:1)...

0 голосов
57 просмотров

Задача на C++:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, больших C
2)произведение элементов массива, расположенных после максимального по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом - все положительные
(элементы, равные 0, считать положительными)


Информатика (21 баллов) | 57 просмотров
0

сейчас напишу, никуда не девайся ;)

Дан 1 ответ
0 голосов
Правильный ответ

#include 
#include
#include

int main()
{
//Объявление переменных, освобождение памяти под динам.массив
int i=0,n=0,c=0,max=0,k=0;
double p=1.0;
cin>>n,c;
double *massop = new double[n];
double *mass = new double[n];

//узнаём числа>c, а заодно и значение максимума по модулю
for ( i = 0; i < n; i++)
{
cin>>massop[i];
if (massop[i]>c) k++;
if (fabs(massop[i])>max||fabs(massop[i])=max) max=fabs(massop[i]);
}

cout<<k<<'" элементов больше с"<<endl;<br>
//Находим первый максимальный эл-т
//больше с  не нужно, возьму под другие нужды
for (i = 0; i{
if (fabs(massop[i])=max) break;
}
c=i;

//Начиная с этого элемента находим произведение последующих
for (i = c; i{
p=p*massop[i];
}

cout<<"Произведение чисел после максимального по модулю элемента: "<<p<<endl;<br>

//и снова с на левые цели
c=0;
//заполняем начало массива mass отрицательными элементами из massop
for (i=0;i{
if (massop[i]<0) mass[c]=massop[i];<br>c++;
}
//а конец-положительными
for (i=0;i{
if (massop[i]>0||massop[i]=0) mass[c]=massop[i];
c++;
}
//выведем, что вышло после упорядочивания
for (i=0;i{
cout<<mass[i]<<'/n';<br>}
}

/*Вот и всё, коллега-сишник :D*/

(1.2k баллов)
0

Я сдал спасибо