neogz

pokazivaci1

Apr 4th, 2014
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.90 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. /*
  5. a)  deklarirati niz tipa double koji ima 10 elemenata:
  6. double niz [10]={0.0, 1.1, 2.2, 3.3., 4.4, 5.5, 6.6, 7.7, 8.8, 9.9}
  7. b)  provjeriti koliko prostora u memoriji zauzima tip podatka double i koliko prostora u
  8. memoriji zauzima cijeli niz
  9. (upotrijebite operator sizeof)
  10. c)  deklarirati pokazivač koji pokazuje na objekt tipa double
  11. d)  inicijalizirate pokazivač na adresu prvog elementa niza
  12. (pokušajte ovu inicijalizaciju napraviti na dva načina)
  13. e)  ispišite 4 element niza na barem 3 različita načina
  14. (koristite indeksaciju elemenata niza, dereferenciranje pokazivača i operacije nad pokazivačem)
  15. f)  ispišite adrese svih elemenata niza koristeći operator inkrementa na pokazivač
  16. (vodite  računa  da  ukoliko  dekrementirate  pokazivač  –  rezultat  je  adresa  pomaknuta  za  onoliko  bajta
  17. koliko zauzima tip podatka na koji upućuje pokazivač)
  18. g)  ispišite elemente niza koristeći dereferenciranje pokazivača.
  19. */
  20.  
  21. int main()
  22. {  
  23.     double niz[10] = { 0.0, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9 };
  24.  
  25.     cout << "sizeof double -> " << sizeof(double) << endl;
  26.     cout << "sizeof niz -> " << sizeof(niz) << endl;
  27.  
  28.     double *p = NULL;
  29.     p = &niz[0];
  30.    
  31.     //   n0  n1   n2   n3   n4
  32.     // | 8 | 16 | 24 | 32 | 40 | ...
  33.     //                 p                     p2
  34.     // p2-p = 3 tj. 3*8= 4 clan niza
  35.  
  36.     p = &niz[3];
  37.     double *p2 = &niz[6];
  38.  
  39.     cout << "\n4. element niza: " << endl;
  40.     cout << " niz[3] -> \t\t"   << niz[3] << endl;
  41.     cout << " *p     -> \t"     << *p << endl;
  42.     cout << " *p2-*p -> \t"     << *p2-*p << endl;
  43.  
  44.    
  45.    
  46.     cout << "\nAdrese clanova niza su:" << endl;
  47.     for (int i = 0; i < 10; i++)
  48.     {
  49.         p = &niz[i];
  50.         cout << "n[" << i << "] -> " << p << endl;
  51.     }
  52.  
  53.     cout << "\nVrijednosti clanova niza su:" << endl;
  54.     for (int i = 0; i < 10; i++)
  55.     {
  56.         p = &niz[i];
  57.         cout << "n[" << i << "] -> " << *p << endl;
  58.     }
  59.  
  60.  
  61.  
  62.     system("pause >nul");
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment