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

C++ Dodawanie struktur

0 głosów
942 wizyt
pytanie zadane 29 grudnia 2018 w C i C++ przez eSpring Początkujący (270 p.)

Witam. Potrzebuję pomocy z zadaniem, nie wiem jak zabrać się za dodawanie dwóch struktur.

Napisz funkcję vec3d add(const vec3d* p1, const vec3d* p2), która zwraca nowy wektor, będący sumą argumentów (sumujemy po współrzędnych). Przetestuj funkcję za pomocą funkcji print.

#include <iostream>

struct vec3d {

	float x;
	float y;
	float z;

};

void print(const vec3d* p) {

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

}
vec3d add(const vec3d* p1, const vec3d* p2) {

	const vec3d* p3;
	/*
	....
	*/
	return *p3;
}

int main() {

	vec3d sum_vec = ...;
	print(&sum_vec);

	return 0;
}

Ktoś pomoże ?

2 odpowiedzi

0 głosów
odpowiedź 29 grudnia 2018 przez Secrus Nałogowiec (32,880 p.)
Stwórz nową strukturę,a jej pola zainicjalizuj sumą poszczególnych współrzędnych tych 2 struktur, które dodajesz...
komentarz 29 grudnia 2018 przez eSpring Początkujący (270 p.)
Stworzyłem właśnie nową strukture p3. Natomiast nie wiem jak wykonać działania na wskaźnikach w tej funkcji.
–1 głos
odpowiedź 29 grudnia 2018 przez Sic Dyskutant (8,510 p.)

Zmieniłem trochę kod, ale działa. Jeżeli jest nie odpowiedni to po prostu uznaj to jako wzór:

#include <iostream>
#include <stdlib.h>

struct vec3d {

	float x;
	float y;
	float z;
	vec3d(float x1, float y1, float z1) : x(x1), y(y1), z(z1) { }
};

struct vec5d {
	float x;
	float y;
	float z;
	vec5d(float x1, float y1, float z1) : x(x1), y(y1), z(z1) { }
};

void print(float sum, float sum2, float sum3) {
	std::cout << "[ " << sum << ", " << sum2 << ", " << sum3 << " ]\n";
}

void add(const vec3d p1, const vec5d p2) {

	float sum_x = p1.x + p2.x;
	float sum_y = p1.y + p2.y;
	float sum_z = p1.z + p2.z;
	print(sum_x, sum_y, sum_z);
}


int main() {
	
	vec3d vec3d_object(10.2, 15.5, 7.4);
	vec5d vec5d_object(12.4, 11.2, 6.9);

	add(vec3d_object, vec5d_object);

	system("pause");
	return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 28 stycznia 2020 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
1 odpowiedź 268 wizyt
0 głosów
0 odpowiedzi 208 wizyt
pytanie zadane 26 stycznia 2019 w C i C++ przez Ryszard Kałuziński Początkujący (280 p.)

93,632 zapytań

142,556 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...