fork download
  1.  
  2. /*
  3. Se considera un tablou de dimentsiune L, avand elemente intregi, care se
  4. prelucreaza astfel:
  5. - se initializeaza elementele astfel incat fiecare element reprezinta suma
  6. intregilor de la 0 la valoarea indicelui corespunzator
  7. - se construieste tabloul care contine cele doua jumatati inversate ale
  8. tabloului initial.
  9. Fiecare functie se implementeaza ca o functie void fara parametri.
  10. */
  11.  
  12. #include <stdio.h>
  13. #define L 10
  14.  
  15. // variabile globale
  16. int tablou_initial[L], tablou_derivat[L];
  17.  
  18. // prototipuri functii
  19. void construieste_initial(void);
  20. void construieste_derivat(void);
  21.  
  22. // definire main
  23. int main(void) {
  24.  
  25. construieste_initial();
  26. construieste_derivat();
  27.  
  28. return 0;
  29. }
  30.  
  31. // definire functii
  32. void construieste_initial(void){
  33.  
  34. /* se observa ca primul element e 0, iar celalalte se obtin prin adunarea
  35. indicelui la elementul anterior */
  36. int i;
  37. for(tablou_initial[0] = 0, i = 1; i < L; i++)
  38. tablou_initial[i] = tablou_initial[i - 1] + i;
  39.  
  40. // optional - afisare
  41. puts("Tabloul initial este:");
  42. for(i = 0; i < L; i++)
  43. printf("%d ", tablou_initial[i]);
  44. putchar('\n');
  45.  
  46. } // construieste_initial
  47.  
  48. void construieste_derivat(void){
  49.  
  50. /* se observa ca primul element e 0, iar celalalte se obtin prin adunarea
  51. indicelui la elementul anterior */
  52. int i;
  53. for(i = 0; i < L / 2; i++){
  54. tablou_derivat[i] = tablou_initial[i + L / 2];
  55. tablou_derivat[i + L / 2] = tablou_initial[i];
  56. }
  57.  
  58. // optional - afisare
  59. puts("Tabloul derivat este:");
  60. for(i = 0; i < L; i++)
  61. printf("%d ", tablou_derivat[i]);
  62. putchar('\n');
  63.  
  64. } // construieste_initial
  65.  
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
Tabloul initial este:
0 1 3 6 10 15 21 28 36 45 
Tabloul derivat este:
15 21 28 36 45 0 1 3 6 10