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