Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
unsigned aTab2D[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
unsigned aTab1D[3];
aTab1D = aTab2D[0];
}
Kod: Zaznacz cały
kod.cc:9: error: invalid array assignment
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
unsigned aTab2D[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
unsigned aTab1D[3];
aTab1D = aTab2D[0];
}
Kod: Zaznacz cały
kod.cc:9: error: invalid array assignment
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
unsigned aTab2D[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
unsigned *aTab1D;
aTab1D = aTab2D[0];
}
Kurs znajduje się tu:To może stronę podasz na której to przeczytałeś w tym kursie?
Pętla jest chyba najbardziej oczywistym rozwiązaniem, które jako pierwsze nasunęło mi się na myśl. Przykład, który podałem jest bardzo prosty - wystarczy zastosować jedną pętle. Sytuacja komplikuje się gdy tablice będą miały więcej wymiarów - wtedy trzeba robić pętle w pętli np:W C++ nie można zmieniać adresu na który wskazuje nazwa tablicy. Więc albo przypisanie zrobisz w pętli, albo zmienną aTab1d zrobisz wskaźnikiem na unsigned a nie tablicą
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
unsigned aTab3D[2][2][2] = { { {1, 2}, {3, 4} }, { {5, 6}, {7, 8} } };
unsigned aTab2D[2][2];
for (unsigned i = 0; i < 2; ++i) for (unsigned j = 0; j < 2; ++j) aTab2D[i][j] = aTab3D[0][i][j];
}
Kod: Zaznacz cały
aTab2D = aTab3D[0];
Kod: Zaznacz cały
for (unsigned i = 0; i < 2; ++i) for (unsigned j = 0; j < 2; ++j) aTab2D[i][j] = aTab3D[0][i][j];