Page 1 of 1

returnare tablou din functie

Posted: 06 May 2018, 11:28
by vili_c++
Imi poate spune cineva de ce nu imi este afisata matricea in functia main() ?
Egalitatea ptr = getArray() este adevarata si totusi unele elemente ale matricei sunt afisate de doua ori, altele deloc.

Code: Select all

#include <iostream>
#define ROW 3
#define COL 4
using namespace std;

int main()
{
    int (*ptr)[COL][ROW];
    int (*getArray())[COL][ROW];

    ptr = getArray();
    cout << "\n Array tab[][] in main(): " << endl << endl;
    for (int i=0; i<ROW; i++)
    {
        for (int j=0; j<COL; j++)
            cout << " " << (*ptr)[i][j];
        cout << endl;
    }
    return 0;
}

int (*getArray())[ROW][COL]
{
    static int tab[ROW][COL] = {
                                  31, 32, 33, 34,
                                  41, 42, 43, 44,
                                  51, 52, 53, 54,
                               };
    cout << "\n Array tab[][] in getArray(): " << endl << endl;
    for (int i=0; i<ROW; i++)
    {
        for (int j=0; j<COL; j++)
            cout << " " << tab[i][j];
        cout << endl;
    }
    return (int(*)[ROW][COL])tab;
}

Re: returnare tablou din functie

Posted: 06 May 2018, 20:47
by Viorel
Se observă o neconcordanță între „[COL][ROW]” și „[ROW][COL]”.

Re: returnare tablou din functie

Posted: 07 May 2018, 08:20
by vili_c++
Multumesc !