[H-L-L.ru]

Форма входа

Меню сайта

Categories
Основы работы в среде C++ Builder.Основы языка Си++ [7]
Операторы ветвления и операторы передачи управления [7]
Операторы цикла и операторы передачи управления [15]
Одномерные массивы [15]
Многомерные массивы [7]
Указатели.Динамическое распределение памяти [15]
Функции [4]
Строки [3]
Функция Main [15]
Типы данных,определяемые пользователем [1]
Потоки ввода/вывода [0]
Объектно-ориентированное программирование [0]
Справочные материалы [2]

Главная » Статьи » Решение задач на C++ к лекциям » Указатели.Динамическое распределение памяти

Задача №13
С одномерным массивом, состоящим из 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
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Полная версия сайта