returnare tablou din functie

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
vili_c++
Junior
Junior
Posts: 19
Joined: 11 Feb 2014, 23:39
Judet: Dolj

returnare tablou din functie

Post by vili_c++ » 06 May 2018, 11:28

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;
}



Viorel
Microsoft MVP
Microsoft MVP
Posts: 291
Joined: 13 Jul 2007, 12:26

Re: returnare tablou din functie

Post by Viorel » 06 May 2018, 20:47

Se observă o neconcordanță între „[COL][ROW]” și „[ROW][COL]”.

vili_c++
Junior
Junior
Posts: 19
Joined: 11 Feb 2014, 23:39
Judet: Dolj

Re: returnare tablou din functie

Post by vili_c++ » 07 May 2018, 08:20

Multumesc !

Post Reply