
26.12.2008, 11:46
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме: 2823587
Репутация:
106
|
|
Сообщение от 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..
|
|
|