[H-L-L.ru] |
Форма входа |
Меню сайта |
Главная » Статьи » Решение задач на C++ к лекциям » Указатели.Динамическое распределение памяти |
С одномерным массивом, состоящим из n вещественных элементов, выполнить следующее: Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом – все остальные. int n, i, j=0; float max,procent; 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; } max=massiv[0]; for(i=0; i<n; i++) if(massiv[i]>massiv[0]) max=massiv[i]; for(i=0; i<n; i++) { procent=max/massiv[i]; if(procent>=1 && procent<=1.2) { massiv2[j]=massiv[i]; j++; } } for(i=0; i<n; i++) { procent=max/massiv[i]; if(procent<1 || procent>1.2) { massiv2[j]=massiv[i]; j++; } } for(int j=0; j<n; j++) cout<<'\n'<<massiv2[j]<<' '; delete [] massiv; delete [] massiv2; Источник: отличающиеся от максимального | |
Всего комментариев: 0 | |