В одномерном массиве, состоящем из n вещественных элементов, вычислить:
максимальный элемент массива;
сумму элементов массива, расположенных до последнего положительного элемента;
сжать массив, удалив из него все элементы, модуль которых находится в интервале [a; b] Освободившиеся в конце массива элементы заполнить нулями.
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int i, k=0, k1=0, j, n;
float a, b, s=0, max, x[50], y[50];
randomize(); clrscr();
cout<<"\n--------------------------------------------------------------------------------\nВ одномерном массиве, состоящем из n вещественных элементов, вычислить:\nа) максимальный элемент массива;\nb) сумму элементов массива, расположенных до последнего положительного \nэлемента;\nс) сжать массив, удалив из него все элементы, модуль которых находится \nв интервале [a; b]. Освободившиеся в конце массива элементы заполнить нулями.\n--------------------------------------------------------------------------------\n";
cout<<"\nВведите n = "; cin>>n;
for(i=0; i<n; i++)
{
x[i]=(random(15)-5.2)/2.;
cout<<x[i]<<" ";
}
max = x[0];
for(i=1; i<n; i++)
if(x[i]> max) max = x[i];
cout<<"\n\nМаксимальный элемент массива: "<<max;
for(i=n-1; i>=0; i--)
{
if(k1>=1) s+=x[i];
if(x[i]>=0) k1++;;
}
cout<<"\n\nСумма элементов массива, расположенных \nдо последнего положительного элемента: "<<s;
cout<<"\n\nВведите интервал:\na = "; cin>>a;
cout<<"b = "; cin>>b;
for(i=0;i<n;i++)
{
if((a>(fabs(x[i]))) || ((fabs(x[i]))>b))
{
y[k]=x[i];
k++;
}
}
for(i=k;i<n;i++)
y[i] = 0;
cout<<"\nПреобразованный массив: \n";
for(i=0; i<n; i++)
cout<<y[i]<<" ";
getch();
}
Результат
--------------------------------------------------------------------------------
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
а) максимальный элемент массива;
b) сумму элементов массива, расположенных до последнего положительного
элемента;
с) сжать массив, удалив из него все элементы, модуль которых находится
в интервале [a; b]. Освободившиеся в конце массива элементы заполнить нулями.
--------------------------------------------------------------------------------
Введите n = 20
1.9 -1.6 1.4 -2.6 0.9 -1.1 2.9 2.4 3.9 0.4 -1.6 -1.1 0.9 3.4 2.9 0.9 2.9 0.9 -1.6 -1.1
Максимальный элемент массива: 3.9
Сумма элементов массива, расположенных
до последнего положительного элемента: 16.799995
Введите интервал:
a = 1.5
b = 3
Преобразованный массив:
1.4 0.9 -1.1 3.9 0.4 -1.1 0.9 3.4 0.9 0.9 -1.1 0 0 0 0 0 0 0 0 0