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

dodawanie elemntu do tablicy wykorzystujac strukture

Object Storage Arubacloud
0 głosów
174 wizyt
pytanie zadane 27 marca 2019 w C i C++ przez robertos18 Obywatel (1,120 p.)
edycja 28 marca 2019 przez robertos18

majac utworzoną strukturę chce stworzyć funkcje create i bedzie zwracac wskaznik do utworzonej struktury, następnie chce stworzyć funkcje add  ma zwrocic wskaznik do tej zmodyfikowanej struktury jako ze głownie zajmuje się front endem składnia c++ sprawia mi ogromne problemy i prosiłbym specjalistów c++ o pomoc.. Udało mi sie napisac tyle: 

#include <iostream>

using namespace std;
typedef int element_t;

struct container {
    element_t* address;
    unsigned int size;
    unsigned int capacity;
};

container* create(unsigned int capacity) {
    container* obj = new container;
    obj->address = new element_t[capacity];
    obj->size = 0;
    obj->capacity = capacity;
    return obj;
}


int main()
{


    return 0;

}



najwięcej problemów mam z funkcja dodającą element zupelnie nie potrafie się za to zabrac... 

1 odpowiedź

+1 głos
odpowiedź 27 marca 2019 przez criss Mędrzec (172,590 p.)
wybrane 27 marca 2019 przez robertos18
 
Najlepsza
Jak dla mnie jest ok, tylko nie mam pojęcia po co mnozysz przez 2 w 24 linii. Nie powinieneś dodać 1?
komentarz 27 marca 2019 przez criss Mędrzec (172,590 p.)
Pokaż co teraz masz
komentarz 27 marca 2019 przez robertos18 Obywatel (1,120 p.)

mam tyle napisane i widze, ze to są totalne głupoty

struct container p;
      int capacity;
      cin>>capacity;
      container *tab=new container[capacity];
      create(capacity);
      for(int i=0; i<capacity; i++)
    {
        cin>>tab[i];
    }

 

1
komentarz 27 marca 2019 przez criss Mędrzec (172,590 p.)

Zgadza się :D

Napisze po prostu jakieś przykłady:

void deinit(container* a) {
   delete a->address; //zwolnij pamiec wewn tablicy
}

int main() {

unsigned int capacity;
cin >> capacity;
// w c++ nie potrzebujesz dodawać `struct` przed
container* p = create(capacity);
add(p, 5);
add(p, 4);
add(p, 8);
int* found = search(a, 8);
if (found)
   cout << *found << '\n';
deinit(p);
delete p; // zniszcz obiekt i zwolnij jego pamiec (create alokuje dynamicznie wiec jest to konieczne)
}
komentarz 27 marca 2019 przez robertos18 Obywatel (1,120 p.)

dziekuje bardzo  widząc taki przykład mozna się wiele nauczyc! 

int* found = search(a, 8);

nie powinno byc 

int* found = search(p, 8);

gdyz błedem jest ze a nie jest zadeklarowana

1
komentarz 27 marca 2019 przez criss Mędrzec (172,590 p.)
Tak, sorry, pomyłka

Podobne pytania

0 głosów
1 odpowiedź 137 wizyt
0 głosów
1 odpowiedź 207 wizyt
pytanie zadane 13 stycznia 2018 w C i C++ przez przemek1101 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 3,495 wizyt
pytanie zadane 19 września 2017 w C i C++ przez Sic Dyskutant (8,510 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 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!

...