В одномерном массиве, состоящем из n вещественных элементов, вычислить:
- сумму элементов массива с нечетными номерами;
- сумму элементов массива, расположенных между первым и последним отрицательными элементами;
- cжать массив, удалив из него все элементы, модуль которых не превышает 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; float sum1=0,sum2=0; cout<<rus("Введите размерность n=");cin>>n; cout<<rus("Введите элементы массива:")<<endl<<endl; float *p=new float[n]; randomize(); for(i=0;i<n;i++) { p[i]=-1.9+random(3.7); cout<<p[i]<<' '; } for(i=0;i<n;i++) if(i%2) { sum1+=p[i]; } cout<<rus("\n\nСумма элементов с нечетными номерами: ")<<sum1<<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; } for(i=ibeg+1;i<iend;i++)sum2+=p[i]; cout<<rus("\nСумма между 1 и последним отрицательными элементами: ")<<sum2<<endl; cout<<rus("\nПреобразованный массив:")<<endl<<endl; for(i=0;i<n;i++) if(fabs(p[i])<=1) { cout<<p[i]<<' '; } for(i=0;i<n;i++) if(fabs(p[i])>1) { p[i]=0; cout<<p[i]<<' '; } getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text,bufrus); return bufrus; } //---------------------------------------------------------------------------
Результат работы программы: