народ помогите с задачей
Добавлено: 13 июл 2009, 16:26
Сжать n мерный целочисленный массив,удалив из него все элементы,величина которых находится в интервале [a,b].Освободившиеся в конце массива элементы заполнить нулями
Код: Выделить всё
#include<iostream>
using namespace std;
const int n=10;
int main(int)
{
int c[n]={5,7,11,4,0,34,174,8,9,10}; //при желании можно
//написать цикл который будет генерировать значения ;)
int a=0,b=0,d=10,i=0,count=0;
cout<<"Enter a,b"<<endl;
cin>>a>>b;
for(i;i<n;i++)
{
if(c[i]>a && c[i]<b)
{
d=i;
while(d<n)
{
c[d]=c[d+1];
d+=1;
}
count+=1;
c[n-count]=0;
}
}
for(i=0;i<n;i++)
cout<<c[i]<<"\t";
return 0;
}
Код: Выделить всё
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main(){
int i,j,A,B,*a,n;
cin>>A>>B>>n;
a=new int[n];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++)
if(a[i]<B&&a[i]>A){
for(j=i--,n--;j<n;j++)
a[j]=a[j+1];
a[n++]=0;
}
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl,cin.get(),cin.get();
return 0;
}
Код: Выделить всё
while(d<n)
{
c[d]=c[d+1];
d+=1;
}
Ну незнаю-незнаю, я тестировал, у меня все молодцом работало...rrrFer писал(а): THuND3Rb0LTКод: Выделить всё
while(d<n) { c[d]=c[d+1]; d+=1; }
выйдет за пределы массива
Код: Выделить всё
while(d<n)
{
c[d]=c[d+1];
d+=1;
}