Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Alocare dinamica  (Citit de 4181 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« : Februarie 03, 2009, 13:31:12 »

Cine imi poate recomanda o carte despre alocare dinamica in c++ de la A la Z?(exemple practice+teorie+...)
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #1 : Februarie 03, 2009, 18:27:37 »

Nu exista o carte  cu Alocare  Dinamica,  pentru ca este foarte usor si nu prea ai ce sa scri despre ea, uite un link  http://www.timsoft.ro/aux/module/modul7.html#2 , sper sa  iti fie util Smile
Memorat
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #2 : Februarie 04, 2009, 11:49:18 »

Nu exista o carte  cu Alocare  Dinamica,  pentru ca este foarte usor si nu prea ai ce sa scri despre ea, uite un link  http://www.timsoft.ro/aux/module/modul7.html#2 , sper sa  iti fie util Smile
Carti despre alocare dinamica,exista,am in pascal,dar am nevoie in c++...tu mi-ai trimis un link in care este un articol despre alocare dinamica in c...la capitolu' alocare dinamica c diferit de c++
 
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #3 : Februarie 04, 2009, 12:30:13 »

C si C++ sunt aprope identici  cu execptia unor comenzi
in C ai  printf(....) -pentru afisare  si scanf(....) - pentru  citire,  putchar(...) - pentru a afisa un caracter sau sir de caractere
iar  in C++ ai  cout<<  si  cin>>,  putchar poti sa-l inlocuiesti cu  cout Tongue  
Acestea sunt cele  mai intalnite diferente, si singurele care  apar in acel articol
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #4 : Februarie 04, 2009, 12:55:19 »

C si C++ sunt aprope identici  cu execptia unor comenzi
in C ai  printf(....) -pentru afisare  si scanf(....) - pentru  citire,  putchar(...) - pentru a afisa un caracter sau sir de caractere
iar  in C++ ai  cout<<  si  cin>>,  putchar poti sa-l inlocuiesti cu  cout Tongue  
Acestea sunt cele  mai intalnite diferente, si singurele care  apar in acel articol

C si C++ nu sunt chiar asa identici, iar la alocarea dinamica difera destul in unele parti, + ca poti folosi citirea standard specifica C (scanf, printf etc.) si in C++

Un scurt articol despre alocarea dinamica in C++ gasesti aici, dar cu un search pe google poti gasi mult mai multe Thumb up
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #5 : Februarie 04, 2009, 14:53:48 »

Citat
iar la alocarea dinamica difera destul in unele parti
In articololul postat de mine  singurele "diferente" erau acela cu  printf(..) si scanf(...) restu e la fel.
Citat
C si C++ nu sunt chiar asa identici
Depinde de ce vrobesti sintaxa ,de functii de sistem sau mod de programare, de eleborare de algoritmi Tongue
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #6 : Februarie 04, 2009, 15:20:07 »

C si C++ sunt aprope identici  cu execptia unor comenzi
in C ai  printf(....) -pentru afisare  si scanf(....) - pentru  citire,  putchar(...) - pentru a afisa un caracter sau sir de caractere
iar  in C++ ai  cout<<  si  cin>>,  putchar poti sa-l inlocuiesti cu  cout Tongue  
Acestea sunt cele  mai intalnite diferente, si singurele care  apar in acel articol

In locul tau m-as documenta despre C si C++ inainte sa fac asemenea afirmatii.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #7 : Februarie 04, 2009, 16:21:22 »

Eu am lucrat mult in C (aproape un an) si acum am trecut din nou in C++ pt ca ofera mult mai multe (mai ales STL). O sa iti scriu aici diferentele majore intre C si C++

1. Alocare dinamica.

a) In C doar cu malloc, realloc si calloc:
Cod:
int *a;
a = (int*) malloc(1000 * sizeof(a[0]));

b) In C++: merge atat cu malloc, realloc si calloc, cat si cu new:
Cod:
int *a;
a = new int [1000];

c) Tot in C++ se poate si cu vectori STL:
Cod:
vector<int> a;
a.resize(1000);

2. Citire.

In C se poate doar cu scanf / fscanf si printf / fprintf, in C++ se poate ca in C dar si cu streamuri. cu cin si cout. In general toate lucrurile care merg in C merg si in C++, invers nu neaparat.

3. Declararea structurilor.

a) In C:
Cod:

struct ghitza{
   int a, b;
};
struct ghitza x; // trebuie pus si struct cand declaram

typedef struct ghitza ghitza; // daca punem un typedef, merge ca in C++
ghitza x;


b) In C++
Cod:
struct ghitza{
  int a,b;
};
ghitza x; // observam ca merge fara typedef

4. STL si clase.

a) In C nu exista
b) In C++ exista

5. Apelarea functiilor cu variabile de tip adresa:

a) In C++
Cod:
int ghitza(int &a){
  a = 2;
}
ghitza (x);

b) In C
Cod:
int ghitza(int *a){
  (*a) = 2;
}
ghitza(&x);

6. Alte diferente:

In C nu poti declara intr-o functie variabile intr-un for, trebuie toate declarate la inceputul functiei, nu poti face ceva de genul:
Cod:
for (int i  = 2; i <= 5; ++i);

Citat
Depinde de ce vrobesti sintaxa ,de functii de sistem sau mod de programare, de eleborare de algoritmi

Daca inca ati ramas la functiile din DOS.H e grav.. Atat in C si C++ se pot accesa functiile de sistem cu system("comanda"), modul de programare e mult mai usor in C++, datorita STL-ului, iar diferentele de sintaxa (singurele cred) le-am scris mai sus.

Spor Smile
« Ultima modificare: Februarie 05, 2009, 22:44:58 de către Pripoae Teodor Anton » Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #8 : Februarie 05, 2009, 21:56:38 »

Cred ca merge sa declari o variabila la mijlocul unei functii in C, dar nu si in for.  Confused
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #9 : Februarie 05, 2009, 22:44:19 »

Da asa e, nu stiu de ce ramasesem cu impresia ca nu se poate. Cel putin eu nu am folosit niciodata asa. Am corectat, mersi Very Happy.
Memorat
chera_lary
De-al casei
***

Karma: -2
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #10 : Februarie 07, 2009, 20:43:58 »

Salut!
Dar daca vreu sa declar o matrice bidimensionala mare in C++ cum fac? Fool De exmeplu a[10000][10000];
Multumesc! Very Happy
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #11 : Februarie 07, 2009, 21:25:02 »

Cod:
tip a[10000][10000];  
peacefingers
... dar ocupa multa multa memorie
« Ultima modificare: Februarie 07, 2009, 21:31:22 de către Bitis Gabriel » Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #12 : Februarie 07, 2009, 21:27:17 »

nu prea poti... la probleme de concurs nu am intalnit limita de memorie de care ai avea tu nevoie si anume aproximativ 380MB pentru tipul long (sper ca nu am gresit Whistle)Smile... daca nu ai limita de memorie...o declari clasic...
Memorat
chera_lary
De-al casei
***

Karma: -2
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #13 : Februarie 07, 2009, 21:41:08 »

Multumesc!  Very Happy E cu adevarat o problema in C++ 3.1 alcoarea memoriei pentru matrici mari! Cu VC s-ar fi rezolvat problema mai usor numai ca la OJI nu te lasa decat cu C++ 3.1.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #14 : Februarie 07, 2009, 23:44:19 »

Pai si la olimpiada nationala de obicei limita e de 16 mega. Niciun concurs serios nu iti ofera la dispozitie tot RAM-ul, toate problemele au limite de memorie Smile.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #15 : Februarie 08, 2009, 00:56:15 »

Pai si la olimpiada nationala de obicei limita e de 16 mega. Niciun concurs serios nu iti ofera la dispozitie tot RAM-ul, toate problemele au limite de memorie Smile.

SPOJ-ul ofera nelimitat, nu este nici o restrictie in privinta asta, oricum nu stiu pe nimeni sa fi folosit mai mult de 256 de mega (poate doar cu Java)
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines