Guest User

Untitled

a guest
Jan 12th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. int n,m,*a,*b,i,j,aux;
  7.  
  8. int check_ord(int *a,int dim){
  9. int t=1;
  10. for(i=0;i<dim-1;i++)
  11. if(a[i]>a[i+1])
  12. t=0;
  13. return t;
  14. }
  15. int ord(int *a,int dim){
  16. int k;
  17. for(i=0;i<dim;i++)
  18. for(k=0;k<dim;k++)
  19. if(a[i]<a[k]){
  20. aux=a[i];
  21. a[i]=a[k];
  22. a[k]=aux;
  23. }
  24. return *a;
  25. }
  26. void afisare(int *a,int dim){
  27. for(i=0;i<dim;i++)
  28. printf("%d ",a[i]);
  29. printf("\n");
  30. }
  31.  
  32.  
  33.  
  34.  
  35. int main() {
  36.  
  37. printf("Numar de elemente primul vector : ");scanf("%d",&n);
  38. printf("Numar de elemente al doilea vector : ");scanf("%d",&m);
  39. a=malloc(n*sizeof(int));
  40. b=malloc(m*sizeof(int));
  41. if(a==NULL || b==NULL)
  42. printf("Eroare de alocare dinamica vector");
  43. else{
  44. for(i=0;i<n;i++)
  45. scanf("%d",&a[i]);
  46. for(i=0;i<m;i++)
  47. scanf("%d",&b[i]);
  48.  
  49. if(check_ord(a,n)==1&&check_ord(b,m)==1){
  50. printf("Vectorii sunt ordonati\n");
  51. afisare(a,n);
  52. afisare(b,m);
  53. }else{
  54. printf("Vectorii dupa ordonare sunt:");
  55. ord(a,n);
  56. ord(b,m);
  57. printf("\nVectorul 1 -> ");
  58. afisare(a,n);
  59. printf("Vectorul 2 -> ");
  60. afisare(b,m);
  61. }
  62.  
  63.  
  64. /* De aici in jos de ce nu imi creaza vectorul c care sa contina elementele comune din primi doi vectori*/
  65.  
  66. int k=0,*c;
  67. c=(int*)malloc(k*sizeof(int));
  68. for(i=0;i<n;i++)
  69. for(j=0;j<m;j++)
  70. if(a[i]==b[j])
  71. {
  72. c[k]=a[i];
  73. k++;
  74. }
  75. c=(int*)realloc(c,k);
  76. printf("k=%d\n%d",k,a[1]);
  77. for(i=0;i<k;i++)
  78. for(j=0;j<k;j++)
  79. if(c[i]>c[j]){
  80. aux=c[i];
  81. c[i]=c[j];
  82. c[j]=aux;
  83. }
  84. printf("Noul vector - >");
  85. for(i=0;i<k;i++)
  86. printf("%d ",c[i]);
  87.  
  88.  
  89.  
  90. }
  91. free(a);
  92. free(b);
  93. }
Advertisement
Add Comment
Please, Sign In to add comment