Показать сообщение отдельно

  #960  
Старый 26.12.2008, 11:46
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме:
2823587

Репутация: 106
Отправить сообщение для St0nX с помощью ICQ
По умолчанию

Цитата:
Сообщение от ZEXEL  
Помогите зделать такое :
Даны два масива A[n] и B[m]. Необходимо создать третий масив, в котором нужно собрать элементы масива В, которые не включаются в A;
Нужно работать с динамическим масивом и указателями.

На C++
Код:
#include <stdio.h>


int *mas(int *B,int *A,int z,int m,int n)
{
int flag = z;
int sc = 0;
int *C;
if(flag >0)
{
	C = new int[flag];
	z=0;
}
	for(int i=0;i<=m-1;i++)
	{
		for(int j=0;j<=n-1;j++)
		{
			if(B[i]==A[j])
			{
				sc++;
			}
		}
		if(sc==0)
		{
		if(flag == 0)
		{
			z++;
		}
		else
		{
			C[z] = B[i];
			z++;
		}
		}
		else
		{
			sc=0;
		}
	}
	if(flag == 0)
	{
		return &z;
	}
	else
	{
		return C;
	}
}


int main(void)
{
	int n,m,z;
	printf("Input n,m ");
	scanf("%d,%d",&n,&m);
	int *B = new int[m];
	int *A = new int[n];
	int *C;
	for(int i=0;i<=m-1;i++)
	{
		printf("Input B[%d]",i);
		scanf("%d",&B[i]);
	}
	for(int i=0;i<=n-1;i++)
	{
		printf("Input A[%d]",i);
		scanf("%d",&A[i]);
	}
	z = *mas(B,A,0,m,n);
	C = mas(B,A,z,m,n);
	for(int i=0;i<=z-1;i++)
	{
		printf("C[%d]= %d\n",i,C[i]);
	}
	return 0;
}
про delete забыл сам добавиш

Последний раз редактировалось St0nX; 26.12.2008 в 11:56..
 
Ответить с цитированием