Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: alocare dinamica  (Citit de 1213 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
stelian_2681
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« : August 21, 2014, 18:56:29 »

Nu inteleg de ce nu ruleaza codul urmator.
Alocarea dinamica cu un pointer la intreg (int *p) sau pointer la pointer la intreg mi-a reusit.
Cand am incercat cu un pointer catre un tablou de intregi (*p)[col] codul nu ruleaza.
Stiu, dimensiunea tabloului trebuie sa fie o constanta, dar variabilele col si new primesc valori pana la compilarea liniei de cod
int (*p)[col] = (int(*)[col])new int*[row];.
De ce nu ruleaza ?

Cod:
#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    int row, col;
    cout << "\n Numbers of rows: ";
    cin >> row;
    cout << "\n Numbers of columns: ";
    cin >> col;
    cout << "\n col = " << col << endl;
    int (*p)[col] = (int(*)[col])new int*[row];
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
        {
            cout << "\n tab[" << i << "][" << j << "] = ";
            cin >> *(*(p+i)+j);
        }
    }
    cout << endl;
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
            cout << "\t\t" << *(*(p+i)+j);
        cout << endl;
    }
    // free (p);
    delete[] p;
    p = NULL;
    return 0;
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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