C++

Одномерные массивы

В одномерном массиве, состоящем из 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
Добавлено: 28 Августа 2013 11:59:25 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...