В одномерном массиве, состоящем из n вещественных элементов, вычислить:
- количество положительных элементов массива;
- сумму элементов массива, расположенных после последнего элемента, равного нулю;
- преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом — все остальные.
Код программы:
//--------------------------------------------------------------------------- #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,inul=0,count=0; //объявление переменных float sum=0; cout<<rus("Введите размерность: n=");cin>>n;//ввод размерности массива 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]>0) //положительных { //элементов count++; } cout<<rus("\nКоличество положительных элементов: ")<<count<<endl;//вывод кол-ва for(i=0;i<n;i++) //поиск if(p[i]==0) //последнего { //0-го inul=i; //элемента } for(i=inul+1;i<n;i++)sum+=p[i];//суммирование элементов после последнего 0-го эл. cout<<rus("\nСумма элементов расположенных после последнего 0-го : ")<<sum<<endl; 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; } //---------------------------------------------------------------------------
Результат работы программы: