В одномерном массиве, состоящем из 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,count=0; bool sort=1; float sum=0,temp=0,max=0,a,b; cout<<rus("Введите размерность n=");cin>>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]; for(i=0;i<n;i++) if((p[i]>=a)&&(p[i]<=b)) { count++; } cout<<rus("\nКоличество элементов лежащих в интервале A и B: ")<<count<<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=imax+1;i<n;i++)sum+=p[i]; cout<<rus("\nСумма элементов расположенных после максимального: ")<<sum<<endl; while(sort) { sort=0; for(i=0;i<n-1;i++) if(fabs(p[i])<fabs(p[i+1])) { temp=p[i]; p[i]=p[i+1]; p[i+1]=temp; sort=1; } } cout<<rus("\nОтсортированный массив по убыванию модулей элементов:")<<endl<<endl; for(i=0;i<n;i++)cout<<p[i]<<' '; getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text,bufrus); return bufrus; } //---------------------------------------------------------------------------
Результат работы программы: