Advertisement
Guest User

zut12345

a guest
Oct 15th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.98 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <time.h>
  5.  
  6.  
  7.  
  8. struct Auta {
  9.     int id;
  10.     int cena;
  11. };
  12. typedef struct Auta auta;
  13.  
  14.  
  15. void CreateTabCar(auta *** tab, int ilosc) {
  16.     (*tab) = (auta**)malloc(ilosc * sizeof(auta*));
  17.     for (int i = 0; i < ilosc; i++) {
  18.         (*tab)[i] =(auta*)malloc(ilosc * sizeof(auta));
  19.     }
  20. }
  21.  
  22. void AddCar(auta *** tab, int ilosc) {
  23.  
  24.     for (int i = 0; i < ilosc; i++) {
  25.         int j = i + 1;
  26.         (*tab)[i]->id = j;
  27.         printf("Podaj cene pojazdu nr %d. \n", j );
  28.         scanf("%d", &((*tab)[i]->cena));
  29.        
  30.     }
  31. }
  32.  
  33. void Print(auta *** tab, int ilosc) {
  34.     printf("\nPojazdy w bazie danych:\n");
  35.     for (int i = 0; i < ilosc; i++) {
  36.         printf("\nPojazd nr %d:\n", (*tab)[i]->id);
  37.         printf("Cena: %d\n", (*tab)[i]->cena);
  38.     }
  39. }
  40.  
  41. void Freemem(auta *** tab, int ilosc) {
  42.     for (int i = 0; i < ilosc; i++) {
  43.         free((*tab)[i]);
  44.     }
  45.     free(*tab);
  46. }
  47.  
  48. // pojedynczy wskaznik
  49.  
  50. void CreateTabCar1(auta ** tab, int ilosc) {
  51.     (*tab) = (auta*)malloc(ilosc * sizeof(auta));
  52. }
  53.  
  54. void AddCar1(auta ** tab, int ilosc) {
  55.  
  56.     for (int i = 0; i < ilosc; i++) {
  57.         int j = i + 1;
  58.         tab[i]->id = j;
  59.         printf("Podaj cene pojazdu nr %d. \n", j);
  60.         scanf("%d", &tab[i]->cena);
  61.     }
  62. }
  63.  
  64. void Print1(auta ** tab, int ilosc) {
  65.     printf("\nPojazdy w bazie danych:\n");
  66.     for (int i = 0; i < ilosc; i++) {
  67.         printf("\nPojazd nr %d:\n", tab[i]->id);
  68.         printf("Cena: %d\n", tab[i]->cena);
  69.     }
  70. }
  71.  
  72. void Freemem1(auta ** tab, int ilosc) {
  73.     free(*tab);
  74. }
  75.  
  76.  
  77. int main()
  78. {
  79.    
  80.     auta ** tablica = NULL; //gdy tu * to przy wprowadzania do funkcji **, gdy tablica wskaznikow to ** wtedy ***
  81.     auta * tablica1 = NULL;
  82.     int ilosc = 1;
  83.  
  84.     CreateTabCar(&tablica, ilosc);
  85.     AddCar(&tablica, ilosc);
  86.     Print(&tablica, ilosc);
  87.     Freemem(&tablica, ilosc);
  88.  
  89.     printf("\n \n Teraz na pojedynczym wskazniku. \n");
  90.     // pojedynczy wskaznik
  91.     CreateTabCar1(&tablica1, ilosc);
  92.     AddCar1(&tablica1, ilosc);
  93.     Print1(&tablica1, ilosc);
  94.     Freemem1(&tablica1, ilosc);
  95.  
  96.     system("PAUSE");
  97.  
  98.  
  99.     return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement