Pagini recente » Cod sursa (job #951318) | Cod sursa (job #2946766) | Cod sursa (job #2012510) | Cod sursa (job #2146159) | Cod sursa (job #412836)
Cod sursa(job #412836)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void read(int *n,int **a,int *m,int **b)
{
FILE *f=fopen("cmscd.in","r");
int i;
fscanf(f,"%d %d",n,m);
*a=(int*) malloc((*n)*sizeof(int));
for(i=0;i<(*n);i++)
fscanf(f,"%i",&(*a)[i]);
*b=(int*)malloc((*m)*sizeof(int));
for(i=0;i<(*m);i++)
fscanf(f,"%i",&(*b)[i]);
fclose(f);
}
int elcomune(int *a,int*b,int n,int m)
{
int mat[256][256];
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
mat[i][i]=0;
int el=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(i==0 || j==0)
{if(a[i]==b[j]) mat[i][j]=1; }
else
{if(a[i]==b[j]) mat[i][j]=mat[i-1][j-1]+1;
}
int v[256];
int k=0; el=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
if(mat[i][j]==1)
{ v[k++]=a[i];
printf("%d",a[i]);
el++;}
}
FILE *g=fopen("cmscd.out","w");
fprintf(g,"%d \n",el);
for(i=0;i<el;i++)
fprintf(g,"%d ",v[i]);
fclose(g);
return el;
}
int main()
{
int n,m;
int *a,*b;
int el;
read(&n,&a,&m,&b);
printf("%d %d",n,m);
el=elcomune(a,b,n,m);
printf("nr de elemente comune este %d ",el);
return 0;
}