Patey

Untitled

Jan 24th, 2021
437
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<math.h>
  4. #include <assert.h>
  5. #define cit(x) scanf("%d",&x)
  6. #define p 10
  7.  
  8. void citire(int *A, int n)
  9. {
  10.     int i;
  11.     for (i = 0; i < n; i++)
  12.     {
  13.         if (i % 2 != 0)
  14.             A[i] = A[i - 1] + 10;
  15.         else
  16.         {
  17.             printf("A[%d]= ", i);
  18.             cit(A[i]);
  19.         }
  20.     }
  21.     for (i = 0; i < n; i++)
  22.         assert(A[i] >= 0 && A[i] <= 50);
  23. }
  24.  
  25. void sortare(int *A, int n)
  26. {
  27.     int i, k, aux,B[50];
  28.     for (i = 0; i < n; i++)
  29.     {
  30.         B[i] = A[i];
  31.     }
  32.  
  33.     do {
  34.         k = 1;
  35.         for (i = 1; i < n; i++)
  36.             if (A[i - 1] > A[i])
  37.             {
  38.                 aux = A[i];
  39.                 A[i] = A[i - 1];
  40.                 A[i - 1] = aux;
  41.                 k = 0;
  42.             }
  43.     } while (!k);
  44.     for (i = 0; i < n; i++)
  45.         printf("%d ", A[i]);
  46.     printf("\n");
  47.     for (i = 0; i < n; i++)
  48.     {
  49.         A[i] = B[i];
  50.     }
  51.  
  52. }
  53.  
  54. void afisare(int *A, int n)
  55. {
  56.     int i;
  57.     for (i = 0; i < n; i++)
  58.         printf("%d ", A[i]);
  59.     printf("\n");
  60. }
  61.  
  62. void suma(int *A, int n)
  63. {
  64.     int i, s, B[50];
  65.     for (i = 0; i < n; i++)
  66.     {
  67.         B[i] = A[i];
  68.     }
  69.     for (i = 0; i < n; i++)
  70.     {
  71.         s = 0;
  72.         while (B[i] != 0)
  73.         {
  74.             s = s + (B[i] % p);
  75.             B[i] = B[i] / p;
  76.  
  77.         }
  78.         if (s == B[i + 1]) {
  79.             printf(" %d", A[i]);
  80.         }
  81.     }
  82. }
  83.  
  84.  
  85. int main()
  86. {
  87.     int opt, A[50], n;
  88.     do
  89.     {
  90.         printf("\n1.Citirea elementelor multimii A de la tastatură\n");
  91.         printf("2.sortare\n");
  92.         printf("3.Afișarea elementelor prime din mulțime. \n");
  93.         printf("0.Iesire\n");
  94.         printf("Opt. dvs. este: ");
  95.         scanf("%d", &opt);
  96.         switch (opt)
  97.         {
  98.         case 1:printf("Nr de elemente ale multimii este: ");
  99.             cit(n);
  100.             citire(A, n);
  101.             break;
  102.         case 2:sortare(A, n);
  103.             break;
  104.         case 3:suma(A, n);
  105.             break;
  106.         case 0:exit(0);
  107.             break;
  108.         default:
  109.             printf("OPT.GRESITA!\n");
  110.             break;
  111.         }
  112.  
  113.     } while (1);
  114.     system("pause");
  115.     return 0;
  116. }
RAW Paste Data