W
Whatka
Дан A=(ai)массив из n элементов(n<=10) и число b.
Переставить числа в массиве таким образом,
чтобы сначала шли элементы,меньшие или равные b,
а лишь затем большие b.
Помогите, пожалуста незнаю причины появления нуля (между числами<=b и большими) при выводе результата на экран.
Всем ответившим заранее спасибо.
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
setlocale(LC_ALL,".1251");
int b,i,h=0,n,o,k;
cout<<"Введите число b:";
cin>>b;
cout<<endl;
do
{
cout<<"Введите колличество элементов массива(не больше 10):";
cin>>n;
cout<<endl;
}
while((n>10)||(n<0));
o=n;
int*a=new int[n]; //Задание динамического массива в который записываем значения вводимые с клавиатуры.
int *q=new int[n]; //Задание второго динамического массива.
for(k=0;k<n;k++) //Обнуление всех элементов второго массива.
q[k]=0;
for (i=0;i<n;i++)
{
cout<<"Введите элемент массива:";
cin>>a;
}
for(k=0;k<n;k++) //Присваевает второму массиву элементы первого.
{
if(a[k]<=b)
{
q[h]=a[k];
h++;
}
else
{
q[o]=a[k];
o--;
}
}
cout<<"Элементы отсортированого массива: ";
for(k=0;k<=n;k++)
{
cout<<q[k]<<" ";
}
cout<<endl;
return 0;
}
Переставить числа в массиве таким образом,
чтобы сначала шли элементы,меньшие или равные b,
а лишь затем большие b.
Помогите, пожалуста незнаю причины появления нуля (между числами<=b и большими) при выводе результата на экран.
Всем ответившим заранее спасибо.
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
setlocale(LC_ALL,".1251");
int b,i,h=0,n,o,k;
cout<<"Введите число b:";
cin>>b;
cout<<endl;
do
{
cout<<"Введите колличество элементов массива(не больше 10):";
cin>>n;
cout<<endl;
}
while((n>10)||(n<0));
o=n;
int*a=new int[n]; //Задание динамического массива в который записываем значения вводимые с клавиатуры.
int *q=new int[n]; //Задание второго динамического массива.
for(k=0;k<n;k++) //Обнуление всех элементов второго массива.
q[k]=0;
for (i=0;i<n;i++)
{
cout<<"Введите элемент массива:";
cin>>a;
}
for(k=0;k<n;k++) //Присваевает второму массиву элементы первого.
{
if(a[k]<=b)
{
q[h]=a[k];
h++;
}
else
{
q[o]=a[k];
o--;
}
}
cout<<"Элементы отсортированого массива: ";
for(k=0;k<=n;k++)
{
cout<<q[k]<<" ";
}
cout<<endl;
return 0;
}