Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int n,m,*a,*b,i,j,aux;
- int check_ord(int *a,int dim){
- int t=1;
- for(i=0;i<dim-1;i++)
- if(a[i]>a[i+1])
- t=0;
- return t;
- }
- int ord(int *a,int dim){
- int k;
- for(i=0;i<dim;i++)
- for(k=0;k<dim;k++)
- if(a[i]<a[k]){
- aux=a[i];
- a[i]=a[k];
- a[k]=aux;
- }
- return *a;
- }
- void afisare(int *a,int dim){
- for(i=0;i<dim;i++)
- printf("%d ",a[i]);
- printf("\n");
- }
- int main() {
- printf("Numar de elemente primul vector : ");scanf("%d",&n);
- printf("Numar de elemente al doilea vector : ");scanf("%d",&m);
- a=malloc(n*sizeof(int));
- b=malloc(m*sizeof(int));
- if(a==NULL || b==NULL)
- printf("Eroare de alocare dinamica vector");
- else{
- for(i=0;i<n;i++)
- scanf("%d",&a[i]);
- for(i=0;i<m;i++)
- scanf("%d",&b[i]);
- if(check_ord(a,n)==1&&check_ord(b,m)==1){
- printf("Vectorii sunt ordonati\n");
- afisare(a,n);
- afisare(b,m);
- }else{
- printf("Vectorii dupa ordonare sunt:");
- ord(a,n);
- ord(b,m);
- printf("\nVectorul 1 -> ");
- afisare(a,n);
- printf("Vectorul 2 -> ");
- afisare(b,m);
- }
- /* De aici in jos de ce nu imi creaza vectorul c care sa contina elementele comune din primi doi vectori*/
- int k=0,*c;
- c=(int*)malloc(k*sizeof(int));
- for(i=0;i<n;i++)
- for(j=0;j<m;j++)
- if(a[i]==b[j])
- {
- c[k]=a[i];
- k++;
- }
- c=(int*)realloc(c,k);
- printf("k=%d\n%d",k,a[1]);
- for(i=0;i<k;i++)
- for(j=0;j<k;j++)
- if(c[i]>c[j]){
- aux=c[i];
- c[i]=c[j];
- c[j]=aux;
- }
- printf("Noul vector - >");
- for(i=0;i<k;i++)
- printf("%d ",c[i]);
- }
- free(a);
- free(b);
- }
Advertisement
Add Comment
Please, Sign In to add comment