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