• 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
115 wizyt
pytanie zadane 29 grudnia 2018 w C i C++ przez eSpring Początkujący (260 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,340 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 (260 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 Mądrala (7,330 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ź 60 wizyt
0 głosów
0 odpowiedzi 31 wizyt
pytanie zadane 26 stycznia w C i C++ przez Ryszard Kałuziński Początkujący (280 p.)
0 głosów
2 odpowiedzi 65 wizyt
pytanie zadane 13 stycznia w C i C++ przez Michał_Warmuz Mądrala (5,760 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

66,451 zapytań

113,207 odpowiedzi

239,680 komentarzy

46,704 pasjonatów

Przeglądających: 279
Pasjonatów: 11 Gości: 268

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...