Advertisement
MalinaStefania

Citire ,afisare si apelare a unui element dintr-un cub.

Mar 26th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <iostream>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. //5.Program care creaza un cub de vectori si in care apelam un element dorit din acesta
  9.  
  10. void dimensiuneCub(int &l, int &c, int &s) {
  11.  
  12.     printf("Introduceti numarul de sectiuni ale cubului: ");
  13.     scanf_s("%d", &s);
  14.     printf("Introduceti numarul de linii ale fetei cubului: ");
  15.     scanf_s("%d", &l);
  16.     printf("Introduceti numarul de coloane ale fetei cubului: ");
  17.     scanf_s("%d", &c);
  18.  
  19.     printf("\n");
  20. }
  21.  
  22. void pozitieElement(int  ***c) {
  23.  
  24.     int sectiune, linie, coloana;
  25.  
  26.     printf("Dati pozitia elementului dorit:\n");
  27.     printf("\n");
  28.     printf("Sectiunea: ");
  29.     scanf_s("%d", &sectiune);
  30.     printf("Linia: ");
  31.     scanf_s("%d", &linie);
  32.     printf("Coloana: ");
  33.     scanf_s("%d", &coloana);
  34.     printf("\n");
  35.     printf("Elementul de pe pozitia(%d,%d,%d) este %d!", sectiune, linie, coloana, (*(*(*(c + (linie - 1)) + (coloana - 1)) + (sectiune - 1))));
  36. }
  37.  
  38. int*** alocare(int l, int c, int s) {
  39.     int ***cub;
  40.  
  41.     cub = (int***)malloc(sizeof(int**) * s);
  42.     for (int i = 0; i < l ; i++) {
  43.         *(cub + i) = (int **)malloc(sizeof(int*) * l);
  44.         for (int j = 0; j < c; j++) {
  45.             (*(*(cub + i) + j)) = (int*)malloc(sizeof(int) * c);
  46.         }
  47.     }
  48.  
  49.     return cub;
  50. }
  51.  
  52. void citireCub(int ***p , int l ,int c ,int sec) {
  53.  
  54.     printf("Introduceti elementele cubului:\n");
  55.     for (int s = 0; s < sec; s++) {
  56.         for (int i = 0; i < l; i++) {
  57.             for (int j = 0; j < c; j++) {
  58.                 printf("c[%d][%d][%d]= ", s, i, j);
  59.                 scanf_s("%d", &(*(*(*(p + i) + j) + s)));
  60.             }
  61.         }
  62.     }
  63.  
  64.     printf("\n");
  65. }
  66.  
  67. void afisareCub(int ***p, int l, int c, int sec) {
  68.  
  69.     printf("Cubul introdus este de forma:\n");
  70.     for (int s = 0; s < sec; s++) {
  71.         for (int i = 0; i < l; i++) {
  72.             for (int j = 0; j < c; j++) {
  73.                 printf("%d ", (*(*(*(p + i) + j) + s)));
  74.             }
  75.             printf("\n");
  76.         }
  77.         printf("\n");
  78.     }
  79.  
  80.     printf("\n");
  81. }
  82.  
  83. void main() {
  84.  
  85.     int  ***cub;
  86.     int  linii = 0, coloane = 0, sectiuni = 0;
  87.  
  88.     dimensiuneCub(linii, coloane, sectiuni);
  89.     cub = alocare(linii, coloane, sectiuni);
  90.     citireCub(cub, linii, coloane, sectiuni);
  91.     afisareCub(cub, linii, coloane, sectiuni);
  92.     pozitieElement(cub);
  93.  
  94.     _getch();
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement