Вариант 7

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

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

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

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

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

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

Вариант 6
Вариант 8
error: Content is protected !!