Вариант 4

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

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

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

//---------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<windows.h>
#include<math.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char *rus(const char *text);
int main(int argc, char* argv[])
{
 int i,n,ibeg=0,iend=0;
 float sum1=0,sum2=0;
 cout<<rus("Введите размерность n=");cin>>n;
 cout<<rus("Введите элементы массива:")<<endl<<endl;
 float *p=new float[n];
 randomize();
 for(i=0;i<n;i++)
  {
   p[i]=-1.9+random(3.7);
   cout<<p[i]<<' ';
  }
 for(i=0;i<n;i++)
 if(i%2)
  {
   sum1+=p[i];
  }
 cout<<rus("\n\nСумма элементов с нечетными номерами: ")<<sum1<<endl;
 for(i=0;i<n;i++)
 if(p[i]<0)
  {
   ibeg=i;
   break;
  }
 for(i=ibeg+1;i<n;i++)
 if(p[i]<0)
  {
   iend=i;
  }
 for(i=ibeg+1;i<iend;i++)sum2+=p[i];
 cout<<rus("\nСумма между 1 и последним отрицательными элементами: ")<<sum2<<endl;
 cout<<rus("\nПреобразованный массив:")<<endl<<endl;
 for(i=0;i<n;i++)
 if(fabs(p[i])<=1)
  {
   cout<<p[i]<<' ';
  }
 for(i=0;i<n;i++)
 if(fabs(p[i])>1)
  {
   p[i]=0;
   cout<<p[i]<<' ';
  }
 getch();
 return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text,bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

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

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

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