#include<iostream.h>
int main()
{
const int n = 5;
double arr[n];
cout<<"Enter the array :"<<endl;
for(int i=0;i<n;i++) cin>>arr;
cout<<"You have entered array :"<<endl;
for(i=0;i<n;i++) cout<<arr<<endl;
double a,b;
cout<<"Enter a and b :"<<endl;
cin>>a>>b;
int n1=0;
int n2=0;
for(i=0;i<n;i++) {
if(arr<=a) n1++;
}
for(i=0;i<n;i++) {
if(arr>=b) n2++;
}
double * m1 = new double[n1];
double * m2 = new double[n2];
int s1=0;
int s2=0;
while (s1<n1 ) {
for( i=0;i<n;i++) {
if(arr<=a) m1[s1]=arr;s1++;}
}
while (s2<n2 ) {
for( i=0;i<n;i++) {
if(arr>=b) m2[s2]=arr;s2++;}
}
cout<<"*****The first sequence*****"<<endl;
for(i=0;i<n1-1;i++){
int i_min=i;
for(int j=i+1;j<n1;j++)
if(m1[j]<m1[i_min]) i_min=j;
double tmp=m1;
m1=m1[i_min];
m1[i_min]=tmp;
}
for(i=0;i<n1;i++) cout<<m1<<endl;
cout<<"*****The second sequence*****"<<endl;
for(i=0;i<n-1;i++){
int i_max=i;
for(int j=i+1;j<n2;j++)
if(m2[j]>m2[i_max]) i_max=j;
double tmp=m2;
m2=m2[i_max];
m2[i_max]=tmp;
}
for( i=0;i<n2;i++) cout<<m2<<endl;
return 0;
}
Работа с массивом
Нужно : среди этих n чисел отсортировать по возрастанию и вывести те , которые меньше a ; отсортировать по убыванию и вывести те , которые больше b.
Вот мой код. Он работает(все делал через массивы) . Ошибок и предупреждений нет . С сортировкой тоже проблем нет . Проблема с нахождением чисел в массиве(почему-то программа либо игнорирует число , которое в принципе нам подходит , либо выводит ересь типа -6.27744e+066) . Даже не знаю , в чем ошибка . Вроде бы с точки зрения алгоритма все не так уж и плохо ) В любом случае , надеюсь на авторитетное мнение профессионалов )
Код:
где здесь поиск?
Поиска у вас действительно нет.
Какбэ с основами программирования у нас обычно пишут в ветку "Студентам"