народ помогите с задачей

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: народ помогите с задачей

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

rrrFer » 19 сен 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" почему-то у тебя осталось.

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

THuND3Rb0LT » 19 сен 2009, 20:22

rrrFer писал(а): THuND3Rb0LT

Код: Выделить всё

while(d<n)
{
	c[d]=c[d+1];
	d+=1;
}

выйдет за пределы массива
Ну незнаю-незнаю, я тестировал, у меня все молодцом работало...
Точнее, помоему, оно и вправду выйдет, но страшного ничего не произойдет)

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

rrrFer » 19 сен 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;
}

выйдет за пределы массива

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

Newbie » 19 сен 2009, 14:23

прикольно )))

d+=1;

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

THuND3Rb0LT » 19 сен 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;
}
чот типу такого)

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

rangerx » 14 июл 2009, 19:41

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

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

Sheka » 14 июл 2009, 13:51

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

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

rrrFer » 14 июл 2009, 13:43

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

народ помогите с задачей

Ares » 13 июл 2009, 16:26

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

Вернуться к началу