Jak przerobić program tak, aby wykorzystać wskaźniki?

0

Napisz program wykonujący te same działania co program ponieżej, ale w oparciu
o wskaźniki i dynamiczny przydział pamięci.
int obraz = new int[kanalywiersze*kolumny];

Kod progamu:

#include <stdlib.h>
#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int t[3][5][6];
    int r = 0, g = 100, b = 1000;
    for (int z = 0; z < 3; z++) {
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 6; j++) {
                if (z == 0) {
                    t[z][i][j] = r;
                    r++;
                }
                if (z == 1) {
                    t[z][i][j] = g;
                    g++;
                }
                if (z == 2) {
                    t[z][i][j] = b;
                    b++;
                }
            }
        }
    }

    int n;
    for (int i = 0; i < 5; i++) {
        for (int z = 0; z < 3; z++) {
            for (int j = 0; j < 6; j++) {
                if (z == 0) n = 3; if (z == 1) n = 4; if (z == 2) n = 5;
                cout << setw(n) << t[z][i][j];
            }
            cout << "   ";
        }
        cout << "\n";
    }
    cout << "\n";

    int a;

    for (int z = 0; z < 3; z++) {
        for (int i = 0; i < 5; i++) {
            int m = 5;
            for (int j = 0; j < 6; j++) {
                if (j < 3) {
                    a = t[z][i][j];
                    t[z][i][j] = t[z][i][m];
                    t[z][i][m] = a;
                    m--;
                }
            }
        }int k = 2;
        for (int z = 0; z < 3; z++) {
            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < 6; j++) {if (z==0){
                    a = t[z][i][j];
                    t[z][i][j] = t[k][i][j];
                    t[k][i][j] = a;
                    }
                }
            }
        }
    }

    for (int i = 0; i < 5; i++) {
        for (int z = 0; z < 3; z++) {
            for (int j = 0; j < 6; j++) {
                if (z == 0) n = 5; if (z == 1) n = 4; if (z == 2) n = 3;
                cout << setw(n) << t[z][i][j];
            }
            cout << "   ";
        }
        cout << "\n";
    }
}
0

Ja bym proponował zrobić klasę (z tego co widzę to c++) Tablica3D która zawiera jednowymiarową tablicę ale pisząc odpowiednie funkcje można ją potraktować jako tablicę trójwymiarową.
Jak to zlecenie to pisz na priva.

1 użytkowników online, w tym zalogowanych: 0, gości: 1