Patey

Untitled

Jan 14th, 2021
461
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4.  
  5. void citirere(int m, int M[100])
  6. {
  7.     int i;
  8.     for (i = 0; i < m; i++)
  9.     {
  10.         if (i % 2 == 0)
  11.         {
  12.             printf("a[%d]= ", i + 1);
  13.             scanf("%d", &M[i]);
  14.         }
  15.         else
  16.             M[i] = M[i - 1] + 10;
  17.     }
  18. }
  19.  
  20. void afisarere(int m, int M[100])
  21. {
  22.     int i, k = 1, aux;
  23.     do {
  24.         k = 1;
  25.         for (i = 0; i < m - 1; i++)
  26.             if (M[i] > M[i + 1])
  27.             {
  28.                 aux = M[i];
  29.                 M[i] = M[i + 1];
  30.                 M[i + 1] = aux;
  31.                 k = 0;
  32.             }
  33.     } while (k == 0);
  34.     for (i = 0; i < m; i++)
  35.         printf("%d  ", M[i]);
  36.     printf("\n");
  37. }
  38.  
  39. void afisare_suma(int m, int M[100])
  40. {
  41.     int s,i,aux;
  42.     for (i = 0; i < m - 1; i++)
  43.     {
  44.         s = 0;
  45.         aux = M[i];
  46.         while (aux > 0)
  47.         {
  48.             s += (aux%10);
  49.             aux = aux / 10;
  50.         }
  51.         if (s == M[i+1])
  52.             printf("%d  ", M[i]);
  53.     }
  54.     printf("\n");
  55. }
  56.  
  57. int main()
  58. {
  59.     int M[100], m;
  60.     printf("n= ");
  61.     scanf("%d", &m);
  62.     enum { iesire, citire, ordonare, afisare}opt;
  63.     do {
  64.         printf("0. Iesire\n");
  65.         printf("1. Citire elemente\n");
  66.         printf("2. Ordonare crescatoare\n");
  67.         printf("3. Afisare suma cifrelor este elementul urmator\n");
  68.         printf("opt= ");
  69.         scanf("%d", &opt);
  70.         switch (opt)
  71.         {
  72.         case iesire:exit(0);
  73.             break;
  74.         case citire:citirere(m, M);
  75.             break;
  76.         case ordonare:afisarere(m, M);
  77.             break;
  78.         case afisare:afisare_suma(m, M);
  79.             break;
  80.         default:printf("Optiune nevalida!\n");
  81.             break;
  82.         }
  83.     } while (1);
  84.     system("pause");
  85.     return 0;
  86. }
RAW Paste Data