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

tablica c++ inicjalizacja

Object Storage Arubacloud
0 głosów
304 wizyt
pytanie zadane 13 grudnia 2022 w C i C++ przez datcam Nowicjusz (120 p.)
hej mam taki problem ze nie wiem jak to zaincjalizowac

Zainicjalizuj tablicę 3-elementową odcinków o następujących współrzędnych końców poszczególnych odcinków:

1) (-4, 1), (6, 1)

2) (0, 6), (1, 1)

3) (3, 8), (-3, -2)

i ta tablica ma byc 3 elementowa i nie mam bladego pojecia jak to upchac w niej próbowałem tworzyc tablice 2 wymiarowa alew wtedy jest nie zgodne z trescia zadania

3 odpowiedzi

0 głosów
odpowiedź 13 grudnia 2022 przez Jaaqob Stępień Użytkownik (760 p.)
1. W C++ używanie tablic nie jest zalecane.

2.  Utwórz strukturę punkt, a potem wektor punktów.
komentarz 13 grudnia 2022 przez Oscar Nałogowiec (29,290 p.)
Jeśli ma być 3 elementowy to raczej tablica/wektor odcinków, każdy po 2 punkty.
komentarz 13 grudnia 2022 przez Jaaqob Stępień Użytkownik (760 p.)
Możesz mieć rację, ale wtedy tworzymy dodatkowo strukturę odcinek i wektor odcinków. Ja pisząc to zapominałem że odcinek to nie tensor.
1
komentarz 13 grudnia 2022 przez mokrowski Mędrzec (155,460 p.)

@Jaaqob Stępień, 

1. W C++ używanie tablic nie jest zalecane.

Możesz podać źródło? Kto nie zaleca?

komentarz 14 grudnia 2022 przez TOWaD Mądrala (5,700 p.)

Nie żebym się nie zgadzał, ale źródło to źródło:

Jeśli jesteś początkującym programistą, to w celu rezerwacji pamięci korzystaj raczej z tzw. standardowych pojemników (takich jak na przykład std::vector).

OPUS MAGNUM C++11 str 391. zakreślone na czarno.

komentarz 14 grudnia 2022 przez j23 Mędrzec (194,920 p.)
Ale tu raczej chodzi o tablice dynamiczne, a OP ma zdefiniować tablicę trzyelementową, którą spokojnie może stworzyć na stosie.
komentarz 14 grudnia 2022 przez TOWaD Mądrala (5,700 p.)
A fakt nie doczytałem treści. Sorki.
0 głosów
odpowiedź 13 grudnia 2022 przez adrian17 Ekspert (344,860 p.)

Na pewno odcinek i punkt nie może być strukturą? Wtedy robi się znacznie prościej:

Odcinek tab[3] = {Odcinek{-4, 1, 6, 1}, ...
// lub z osobna struktura na punkty
Odcinek tab[3] = {Odcinek(Punkt(-4, 1), Punkt(6, 1)), ...
// lub
Odcinek tab[3] = {Odcinek{Punkt{-4, 1}, Punkt{6, 1}}, ...
// lub
Odcinek tab[3] = {{{-4, 1}, {6, 1}}, ...
// ostatnie zadziała też z tablicą:
int tab[3][2][2] = {{{-4, 1}, {6, 1}}, ...

 

0 głosów
odpowiedź 13 grudnia 2022 przez mokrowski Mędrzec (155,460 p.)
#include <iostream>

struct Punkt2D {
	int x;
	int y;
};

struct Odcinek {
	Punkt2D poczatek;
	Punkt2D koniec;
};

int main() {
	Odcinek tab[3] = {
		{{-4, 1}, { 6,  1}},
		{{ 0, 6}, { 1,  1}},
		{{ 3, 8}, {-3, -2}}
	};
}

 

komentarz 14 grudnia 2022 przez TOWaD Mądrala (5,700 p.)

Tak do kompletu [link 1] [link2]

wydrukowanie


 std::ostream& operator<<(std::ostream& os, const Punkt2D& obj)
{
    os<<'{'<<obj.x<<','<<obj.y<<'}';
    return os;
}
 std::ostream& operator<<(std::ostream& os, const Odcinek& obj)
{
    os<<'{'<<obj.poczatek<<','<<obj.koniec<<'}';
    return os;
}
////
main {
...
    for(const auto &x :tab) std::cout<<x<<'\n';
    std::cout<<std::endl;
}

i trochę więcej klas i bez <template> nie podchodź.

Podobne pytania

0 głosów
1 odpowiedź 401 wizyt
pytanie zadane 12 marca 2016 w C i C++ przez luparuwka Początkujący (400 p.)
0 głosów
4 odpowiedzi 574 wizyt
pytanie zadane 29 listopada 2015 w C# przez rafalx200 Początkujący (250 p.)
0 głosów
3 odpowiedzi 943 wizyt

92,555 zapytań

141,402 odpowiedzi

319,543 komentarzy

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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...