Вариант 11

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

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

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

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

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

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

Вариант 10
Вариант 12
error: Content is protected !!