В одномерном массиве, состоящем из n вещественных элементов, вычислить:
- номер минимального элемента массива;
- сумму элементов массива, расположенных между первым и вторым отрицательными элементами;
- преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 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; } //---------------------------------------------------------------------------
Результат работы программы: