Site icon C/C++ Структурное программирование

Вариант 19

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

  1. произведение отрицательных элементов массива;
  2. сумму положительных элементов массива, расположенных до максимального элемента;
  3. изменить порядок следования элементов в массиве на обратный.

Код программы:

//---------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<windows.h>
#include<vcl.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char *rus(const char *text); //функция для распознавания русских символов
int main(int argc, char* argv[])
{
 int i,n,imax=0;         //объявление
 float sum=0,pro=1,max=0;     //переменных
 cout<<rus("Введите размерность n=");cin>>n;  //ввод размерности массива
 cout<<rus("Введите элементы массива:")<<endl<<endl;
 float *p=new float[n];       //объявление массива
 for(i=0;i<n;i++)cin>>p[i];     //ввод массива
 for(i=0;i<n;i++)    //поиск
 if(p[i]<0)          //отрицательных элементов
  {
   pro*=p[i];      //произведение
  }
 cout<<rus("\nПроизведение отрицательных элементов: ")<<pro<<endl; //вывод
 max=p[0];      //берем первый элемент за максимальный
 for(i=0;i<n;i++)  //поиск
 if(p[i]>max)      //максимального
  {                //элемента
   max=p[i];
   imax=i;
  }
 cout<<rus("\nМаксимальный элемент: ")<<max<<endl;//вывод
 cout<<rus("Позиция максимального элемента: ")<<imax+1<<endl;  //вывод
 for(i=0;i<imax;i++) //суммирование
 if(p[i]>0)          //элементов
  {                  //расположенных до
   sum+=p[i];        //максимального
  }
 cout<<rus("\nСумма положительных элементов расположенных до максимального элемента: ")<<sum<<endl;  //вывод
 cout<<rus("\nПреобразованный массив:")<<endl<<endl;
 for(i=n-1;i>=0;i--)cout<<p[i]<<' ';//изменение порядка следования элементов массива на обратный
 getch();
 return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text,bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

Результат работы программы:

Вариант 18
Вариант 20
Exit mobile version