PDA

Просмотр полной версии : народ помогите с задачей



Ares
13.07.2009, 16:26
Сжать n мерный целочисленный массив,удалив из него все элементы,величина которых находится в интервале [a,b].Освободившиеся в конце массива элементы заполнить нулями

rrrFer
14.07.2009, 13:43
ICQ 395546[двести+восемнадцать]
мыло [ник на форуме]@mail.ru

Sheka
14.07.2009, 13:51
Сделаю! Очень не дорого. В кратчайшие сроки. Договоримся! Ася 255507394.

rangerx
14.07.2009, 19:41
Сделаю быстро и недорого. Обращайтесь. xranger@mail.ru

THuND3Rb0LT
19.09.2009, 11:13
Сделаю бесплатно и почти полностью:


#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;
}

чот типу такого)

Newbie
19.09.2009, 14:23
прикольно )))

d+=1;

rrrFer
19.09.2009, 14:58
#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;
}
THuND3Rb0LT

while(d<n)
{
c[d]=c[d+1];
d+=1;
}
выйдет за пределы массива

THuND3Rb0LT
19.09.2009, 20:22
THuND3Rb0LT

while(d<n)
{
c[d]=c[d+1];
d+=1;
}
выйдет за пределы массива
Ну незнаю-незнаю, я тестировал, у меня все молодцом работало...
Точнее, помоему, оно и вправду выйдет, но страшного ничего не произойдет)

rrrFer
19.09.2009, 20:45
THuND3Rb0LT
приложу снимок экрана.
запустил твою программу с массивом, который введен у тебя там, т.е.
int c[n]={5,7,11,4,0,34,174,8,9,10};
ввел А и Б соответсвенно 5 и 10, в результате получаю:
5 11 4 0 34 174 9 10 0 -858993460
т.е. вот в этом цикле:

while(d<n)
{
c[d]=c[d+1];
d+=1;
}
ты в последний элемент массива пишешь мусор.
кроме того, надо разобраться с алгоритмом - число "9" почему-то у тебя осталось.