Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Nymik
Člen
Avatar
Nymik:30.8.2014 15:46

Dobrý den,

Rád bych poprosil o radu ohledně vracení hodnot z funkce, jedná se o to že: potřebuju vytvořit funkci ve které dále vytvořím 2d pole(matici) a toto pole později vrátím a případně vypíšu nebo ho použiji na další výpočty v jiných funkcích. Chtěl bych to udělat pomocí pointerů, ale stále nemůžu dojít jak na to. Budu vděčný za každou radu, moc děkuji :).

 
Odpovědět
30.8.2014 15:46
Avatar
Nymik
Člen
Avatar
Odpovídá na Nymik
Nymik:30.8.2014 15:52

Ještě jedna věc k tomu, to pole by mělo být dynamické aby se mohla zadat jeho velikost během výpočtu. Děkuji.

 
Nahoru Odpovědět
30.8.2014 15:52
Avatar
Neaktivní uživatel:30.8.2014 16:37

Ahoj, malo by to byť nejak takto:

#include <iostream>

using namespace std;
int **createMatrix(int height, int width);

int main(){
        cout << "Enter number of rows: " << endl;
        int rows;
        cin >> rows;
        cout << "Enter number od columns: " << endl;
        int columns;
        cin >> columns;

        int** matrix = createMatrix(rows, columns);

        // vypíše obsah poľa
        for (int i = 0; i < rows; i++){
                for (int j = 0; j < columns; j++){
                        cout << matrix[i][j] << "\t";
                }
                cout << endl;
        }

        // uvolni pamäť
        for (int i = 0; i < rows; i++){
                delete[] matrix[i];
        }
        delete[] matrix;

}

int **createMatrix(int rows, int columns){

        // alokuje dynamicky pamäť
        int** matrix = new int*[rows];
        for (int i = 0; i < rows; i++){
                matrix[i] = new int[columns];
        }

        // naplní pole nulami
        for (int i = 0; i < rows; i++){
                for (int j = 0; j < columns; j++){
                        matrix[i][j] = 0;
                }
        }

        return matrix;
}

Ak niečomu nerozumieš, pýtaj sa :)

Nahoru Odpovědět
30.8.2014 16:37
Neaktivní uživatelský účet
Avatar
Nymik
Člen
Avatar
Odpovídá na Neaktivní uživatel
Nymik:30.8.2014 16:39

Děkuju, rozumím :). Ještě jednou díky :).

 
Nahoru Odpovědět
30.8.2014 16:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.