Вариант 2

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

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

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

//---------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<iomanip.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,imin=0,ibeg=0,iend=0;
  bool sort=1;
  float sum=0,temp=0,pro=1,min=0,max=0;
  cout<<rus("Введите размерность n=");cin>>n;
  cout<<rus("Введите элементы массива:")<<endl<<endl;
  float *p=new float[n];
  randomize();
  for(i=0;i<n;i++)
   {
    p[i]=-5.2+random(10.3);
    cout<<p[i]<<' ';
   }
  for(i=0;i<n;i++)
  if(p[i]>0)
   {
    sum+=p[i];
   }
  cout<<rus("\n\nСумма положительных элементов: ")<<sum<<endl;
  max=p[0];
  min=p[0];
  for(i=0;i<n;i++)
   {
    if(fabs(p[i])>fabs(max))
     {
      max=p[i];
      imax=i;
     }
    if(fabs(p[i])<fabs(min))
     {
      min=p[i];
      imin=i;
     }
   }
  cout<<rus("\nМаксимальный по модулю элемент: ")<<max<<endl;
  cout<<rus("Минимальный по модулю элемент: ")<<min<<endl;
  ibeg=imax<imin?imax:imin;
  iend=imax<imin?imin:imax;
  for(i=ibeg+1;i<iend;i++)pro*=p[i];
  cout<<rus("\nПроизведение между max и min по модулю элементами: ")<<pro<<endl;
  while(sort)
   {
    sort=0;
    for(i=0;i<n-1;i++)
    if(p[i]<p[i+1])
     {
      temp=p[i];
      p[i]=p[i+1];
      p[i+1]=temp;
      sort=1;
     }
   }
  cout<<rus("\nОтсортированный массив по убыванию:")<<endl<<endl;
  for(i=0;i<n;i++)cout<<setw(5)<<p[i];
  getch();
  return 0;
 }
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text,bufrus);
  return bufrus;
 } 
//---------------------------------------------------------------------------

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

Результат работы. Второй вариант. Одномерные массивы и указатели

Вариант 1
Вариант 3
error: Content is protected !!
Adblock
detector