Titlul: Alocare Dinamica Scris de: David si Goliat din Martie 27, 2007, 13:33:49 Am cautat si pe net si prin toate cartile care le am , dar n-am gasit nicaieri un articol care sa explice clar cum sa aloc dinamic memorie in C++. Poate explica cineva , cam cum as putea aloca dinamic o matrice (m[ i ][j]) in care ma intereseaza doar anumite pozitii din fiecare m[ i ] ?Sau sa posteze un link .?
Spre ex vreau sa folosesc la m[1] 3 elemente {1,2,3} m[1][0]=1,m[1][2]=2,m[1][3]=3 la m[2] 1 elemnt {1} m[2][0]=1 la m[3] 2 elemente {4,5} m[3][0]=4,m[3][1]=5 Titlul: Răspuns: Alocare Dinamica Scris de: Andrei Homorodean din Martie 27, 2007, 13:38:48 Daca vrei cu realloc iti pot zice eu, mie asa mi se pare mai usor, in c++ nu-mi prea place.. probabil vrei sa faci o lista de adiacenta.
ideea e urmatoarea, declari un vector de pointeri ex: int *a[NMAX]; apoi aloci gradul pentru fiecare linie(numarul de elemente): Cod: a[i] = (int *) realloc(a[i], sizeof(int)); a[i][0] = 0; si ca sa mai faci o sa casuta(faci o redimensionare): Cod: a[i] = (int *) realloc(a[i], sizeof(int)*(++a[i][0]+1)); a[i][a[i][0]] = y ideea ar trebui sa fie asemanatoare si in c++, cauta echivalentul comenzilor cu help... Daca nu te-a ajutat pe tine, sper ca ii va ajuta pe altii. Titlul: Răspuns: Alocare Dinamica Scris de: Achim Ioan Alexandru din Martie 27, 2007, 13:51:00 Pai...din cate stiu, poti in felul urmator:
1. definesti matricea ca int *matr[MAX] 2. aloci fiecare matr[ i ] cu dimensiunea pe care o vrei matr[ i ]=new int[Dim]; unde Dim e dimensiunea pe care vrei s-o aloci randului respectiv. Titlul: Răspuns: Alocare Dinamica Scris de: Savin Tiberiu din Martie 27, 2007, 13:53:25 Cod: struct lista{long int val; vf[ i ] - varful listei i. p->urm - pointer catre urmatorul element din lista. Cel putin eu asa fac lista de adiacenta.De asemenea poti sa faci cu <vector> din STL. Titlul: Răspuns: Alocare Dinamica Scris de: Andrei Homorodean din Martie 27, 2007, 13:55:33 parca tot mai putin suspect suna in c :P
Titlul: Răspuns: Alocare Dinamica Scris de: David si Goliat din Martie 27, 2007, 13:57:39 Da, am facut cum a zis Andrei si vad ca merge f bine . Ms fain
Titlul: Răspuns: Alocare Dinamica Scris de: Airinei Adrian din Martie 27, 2007, 15:04:22 Aici http://infoarena.ro/Multe-smenuri-de-programare-in-CC-si-nu-numai scrie ceva despre alocarea dinamica a unui graf. Pointerii merg prea incet, iar sa apelezi de fiecare data realloc e iarasi cam incet.
Titlul: Răspuns: Alocare Dinamica Scris de: Andrei Homorodean din Martie 27, 2007, 17:33:02 Stiu ca nu e locul, dar am o mica intrebare, ca sa nu mai deschid topic nou pentru o nimica toata... Daca am implementat un quicksort si la functia de divide acolo la pozitionarea elementului in pozitia sa corecta in sir la while-urile alea... in loc de conditie am pus o functie inline, ca sa nu fie mult scris acolo, are ceva?(am emotii la chestiile astea) Si in general daca apelezi o functie inline de multe ori se poate intampla ceva? Are vreo slabiciune inline?
Titlul: Răspuns: Alocare Dinamica Scris de: Sima Cotizo din Martie 27, 2007, 17:46:28 http://www.cppreference.com/keywords/inline.html ;)
Desi eu am pus inline si la functii cu while si alea-alea si nu mi-a zis nimic... si in general si cu inline, si fara... tot aia e... daca ai -O2 face automat inline la tot ce poate... Cel putin eu asa stiu Titlul: Răspuns: Alocare Dinamica Scris de: Andrei Homorodean din Martie 27, 2007, 17:53:44 Aha, merci... Putinul pe care-l fac vreau sa reziste si nu sa crape :P, de-asta am emotii ...
Later edit: nu era vorba de zis ceva, pentru ca stiu ca nu zice, intrebarea mea era ca daca se poate intampla ceva dupa un nr incredibil de mare de apelari... Titlul: Răspuns: Alocare Dinamica Scris de: Sima Cotizo din Martie 27, 2007, 20:17:42 Pai ce sa se intample... inline daca ai noroc (a se citi, daca poate) iti copiaza corpul functiei intr-un anumit fel in sursa... daca nu aia e, nu face nimic...
Sau asa inteleg eu (foarte simplificat) ca face... :-' |