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

C++ Dodawanie struktur

VPS Starter Arubacloud
0 głosów
654 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ź 87 wizyt
pytanie zadane 28 stycznia 2020 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
1 odpowiedź 140 wizyt
0 głosów
0 odpowiedzi 141 wizyt
pytanie zadane 26 stycznia 2019 w C i C++ przez Ryszard Kałuziński Początkujący (280 p.)

92,452 zapytań

141,262 odpowiedzi

319,080 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...