Florii11

cursul5_4

Feb 1st, 2021
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void citire(int a[20], int* n)
  5. {
  6.     printf("Dati nr. de elemente: ");
  7.     scanf("%d",n);
  8.     printf("Introduceti elementele:\n");
  9.     for(int i=0;i<*n;i++)
  10.         scanf("%d", &a[i]);
  11. }
  12.  
  13. void sortare1(int a[], int n)
  14. {
  15.     int gasit, aux;
  16.     do
  17.     {
  18.         gasit=0;
  19.         for(int i=0; i<n-1; i++)
  20.             if (a[i]>a[i+1])
  21.             {
  22.                 aux=a[i];
  23.                 a[i]=a[i+1];
  24.                 a[i+1]=aux;
  25.                 gasit=1;
  26.             }
  27.     }
  28.     while(gasit);
  29. }
  30.  
  31. void sortare2(int a[], int n)
  32. {
  33.     int aux;
  34.     for(int i=0; i<n-1; i++)
  35.         for(int j=i+1; j<n; j++)
  36.             if(a[i]>a[j])
  37.             {
  38.                 aux=a[i];
  39.                 a[i]=a[j];
  40.                 a[j]=aux;
  41.             }
  42. }
  43.  
  44. void interclasare(int a[], int m, int b[], int n, int c[])
  45. {
  46.     int i=0, j=0, k=0;
  47.     while(i<m && j<n)
  48.         if (a[i]==b[j])
  49.         {
  50.             c[k++]=a[i++];
  51.             j++;
  52.         }
  53.         else if (a[i]<b[j])
  54.             c[k++]=a[i++];
  55.         else
  56.             c[k++]=b[j++];
  57.     if(i<m)
  58.         for(int p=i; p<m; p++)
  59.             c[k++]=a[p];
  60.     else
  61.         for(int p=j; p<n; p++)
  62.             c[k++]=b[p];
  63.  
  64.     for(i=0;i<k;i++)
  65.         printf("%d ",c[i]);
  66. }
  67.  
  68.  
  69. void main()
  70. {
  71.     int a[100],b[100], c[200];
  72.     int m,n,k;
  73.     citire(a,&m);
  74.     citire(b,&n);
  75.     sortare1(a,m);
  76.     sortare2(b,n);
  77.     interclasare(a,m,b,n,c);
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment