Вариант 8

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

  1. номер минимального элемента массива;
  2. сумму элементов массива, расположенных между первым и вторым отрицательными элементами;
  3. преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 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,imin;   //объявление
 float min=0,sum=0;            //переменных
 cout<<rus("Введите размерность n=");cin>>n;       //ввод размерности массива
 cout<<rus("Введите элементы массива:")<<endl<<endl;
 float *p=new float[n];      // объявление массива
 for(i=0;i<n;i++)cin>>p[i];  //ввод массива
 min=p[0];          //принимаем 1-й элемент за минимальный
 for(i=0;i<n;i++)   // поиск
 if(p[i]<min)       //минимального
  {
   min=p[i];        //элемента
   imin=i;
  }
 cout<<rus("\nМинимальный элемент: ")<<min<<endl;  //вывод элемента
 cout<<rus("Позиция минимального элемента: ")<<imin+1<<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;              //отрицательного
   break;               //элемента
  }
 for(i=ibeg+1;i<iend;i++)sum+=p[i];           //суммирование элементов
 cout<<rus("\nСумма элементов расположенных между 1 и 2 отрицательными элементами: ")<<sum;   //вывод суммы
 cout<<rus("\nПреобразованный массив:")<<endl<<endl;
 for(i=0;i<n;i++)      //поиск
 if(fabs(p[i])<=1)     //элементов
  {                    //модуль которого не превышает 1
   cout<<p[i]<<' ';    //вывод массива
  }
 for(i=0;i<n;i++)     
 if(fabs(p[i])>1)
  {
   cout<<p[i]<<' ';    //вывод всех остальных элементов массива
  }
 getch();
 return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text,bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

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

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

Вариант 7
Вариант 9
error: Content is protected !!