• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ Struktury, wskaźniki

Object Storage Arubacloud
0 głosów
212 wizyt
pytanie zadane 17 grudnia 2018 w C i C++ przez eSpring Początkujący (270 p.)

Napisz funkcję void print(const vec3d* p), która wypisuje przekazany przez wskaźnik wektor w formacie "[1.0, 2.0, -3.0]". Zmodyfikuj funkcję main, tak żeby korzystała z nowej wersji funkcji.
Jakie są istotne różnice pomiędzy dwoma funkcjami?

#include <iostream>

struct vec3d {

       float x;
       float y;
       float z;

};
void print(vec3d p) {

       std::cout << "[ " << p.x << ", " << p.y << ", " << p.z << " ]";

}
int main() {

       vec3d w1;

       std::cout << "Podaj wspolrzedna x:";
       std::cin >> w1.x;
       std::cout << "Podaj wspolrzedna y:";
       std::cin >> w1.y;
       std::cout << "Podaj wspolrzedna z:";
       std::cin >> w1.z;

       print(w1);

       return 0;
}

W jaki sposób przerobić funkcję? I jakie są różnice? Proszę o podpowiedzi, bądź rozwiązanie. Pozdrawiam !!

1 odpowiedź

+1 głos
odpowiedź 18 grudnia 2018 przez Bondrusiek Maniak (61,410 p.)

Witam,

różnica pomiędzy odwoływaniem się do elementów w strukturze pomiędzy obiektem a wskaźnikiem jest operator. W przypadku obiektu używasz . (kropki) a w przypadku wskaźnika ->.

#include <iostream>

struct vec3d {

       float x;
       float y;
       float z;

};
void print(const vec3d* p) {

       std::cout << "[ " << p->x << ", " << p->y << ", " << p->z << " ]";

}
int main() {

       vec3d *w1 = new vec3d;

       std::cout << "Podaj wspolrzedna x:";
       std::cin >> w1->x;
       std::cout << "Podaj wspolrzedna y:";
       std::cin >> w1->y;
       std::cout << "Podaj wspolrzedna z:";
       std::cin >> w1->z;

       print(w1);

       delete w1;
       return 0;
}

 

 

Więcej info

http://www.cplusplus.com/doc/tutorial/structures/

Podobne pytania

0 głosów
2 odpowiedzi 942 wizyt
pytanie zadane 12 listopada 2020 w C i C++ przez milosz123 Użytkownik (720 p.)
0 głosów
3 odpowiedzi 1,361 wizyt
0 głosów
0 odpowiedzi 460 wizyt

92,694 zapytań

141,606 odpowiedzi

320,106 komentarzy

62,052 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...