[H-L-L.ru] |
Форма входа |
Меню сайта |
Главная » Статьи » Решение задач на C++ к лекциям » Указатели.Динамическое распределение памяти |
С одномерным массивом, состоящим из n вещественных элементов, выполнить следующее: Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а,b]. Освободившиеся в конце массива элементы заполнить нулями. int n, i, j=0; float a, b; cout<<"Vvedite kolichestvo elementov\n"; cin>>n; float *massiv=new float [n]; if(!massiv) { cout<<"Nedostatochno pamyati\n"; cout<<"Najmite klavishu dlya zaversheniya programmi\n"; getch(); return 0; } cout<<"Vvedite massiv iz"<<' '<<n<<' '<<"elemetov\n"; for(i=0; i<n; i++) cin>>*(massiv+i); for(int i=0; i<n; i++) cout<<*(massiv+i)<<' '; float *massiv2=new float [n]; if(!massiv2) { cout<<"Nedostatochno pamyati\n"; cout<<"Najmite klavishu dlya zaversheniya programmi\n"; getch(); return 0; } cout<<"\nVvedite a\n"; cin>>a; cout<<"Vvedite b\n"; cin>>b; for(i=0; i<n; i++) if(fabs(massiv[i])<a || fabs(massiv[i])>b) { massiv2[j]=massiv[i]; j++; } for(i=0; i<n; i++) { massiv2[j]=0; j++; } for(int j=0; j<n; j++) cout<<'\n'<<massiv2[j]<<' '; delete [] massiv; delete [] massiv2; Источник: модуль находится интервале | |
Всего комментариев: 0 | |