Alx09

Untitled

Oct 19th, 2019
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. { unsigned n, i, j;
  6.  
  7. printf("Introduceti ordinul matricei: "); scanf("%u", &n);
  8. int a[n][n]; // posibil sa nu mearga pe visual stduio eu lucrez cu CodeBlock
  9. // daca nu merge introdu int a[100][100];
  10. printf("Introduceti alementele unei matrici de %uX%u\n", n, n);
  11. for (i = 0; i < n; i++) //citim matricea
  12. for(j =0; j < n; j++)
  13. {
  14. printf("a[%u][%u]= ", i, j);
  15. scanf("%d", &a[i][j]);
  16. }
  17. system("CLS");// sterge ce s-a afisat in ferastra
  18. unsigned option; // variabila pentru alegera meinului
  19.  
  20. printf("1. Afisarea matricei.\n");
  21. printf("2. Elementele de pe diagonala principala.\n");
  22. printf("3. Elementele de pe diagonala secundara.\n");
  23. printf("4. Elementele deasupra diagonalei principale.\n");
  24. printf("\nIntroduceti numarul confom optiuni dorite: "); scanf("%u", &option);
  25. system("CLS"); // sterge ce s-a afisat in ferastra
  26. switch(option)
  27. {
  28. case 1 :
  29. printf("Matricea citita este:\n");
  30. for (i = 0; i < n; i++)
  31. {
  32. for (j = 0; j < n; j++) printf("%d ", a[i][j]); // se executa forul afiseaza numerele de pe linia i
  33. printf("\n");// pentru trecere la linie noua
  34. }
  35. break; // pentru a opri switch-ul
  36. case 2 :
  37. printf("Elementele matricei de pe diagonala principala sunt :\n");
  38. for (i = 0; i < n; i++) // elementele de pe diagonala principala sunt de forma a[i][i]
  39. {
  40. for (j = 0; j < i; j++)printf(" "); // afisam spatiu ca sa se vada bine diagonala principala
  41. printf("%d\n",a[i][i]);// afisam elementul de pe diagonala principala
  42.  
  43.  
  44. }
  45. break;
  46. case 3 :
  47. printf("Elementele matricei de pe diagonala secundara sunt :\n");// elementele de pe diag. sec. sunt dr forma a[i][n-i-1]
  48. for (i = 0; i < n; i++)
  49. {
  50. for (j = 0; j < n - i - 1; j++)printf(" "); // afisam spatiu pentru o mai buna vizualizare a diag. sec.
  51. printf("%d\n",a[i][n-i-1]); // afisam elementul dupa salt la linie nou \n
  52. }
  53. break;
  54. case 4 :
  55. printf("Elementele matricei deasupra diagonalei principala sunt :\n"); //elementle de deasupra sunt de forma i < j
  56. for (i = 0; i < n; i++)
  57. {
  58. for (j = 0; j <= i; j++) printf(" ");// spatiu pana la primu element
  59. for (j = i + 1; j < n; j++) printf("%d ", a[i][j]); // afisam elementele de deasupra
  60. printf("\n"); // salt la linie noua;
  61. }
  62. break;
  63.  
  64.  
  65. }
  66.  
  67. system("pause");
  68.  
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment