Halloo kingboy!
Ich kann dir nur ein herkömmliches c++ Programm anbieten. Vielleicht kannst du es umschreiben:
#include <iostream>
void ShowArray(std::string titel, int array[3][3])
{
int row, col;
std::cout << titel << std::endl;
for (row = 0; row < 3; row++)
{
for (col = 0; col < 3; col++)
{
std::cout << array[row][col] << " ";
}
std::cout << std::endl;
}
}
int main(int argc, char **argv)
{
int row, col;
int quelle[3][3]={{ 1, 2, 3},
{ 4, 5, 6},
{ 7, 8, 9}};
int ziel[3][3] = {0};
std::cout << "Werte in Array aendern" << std::endl;
ShowArray("Quell-Array:", quelle);
for (row = 0; row < 3; row++)
{
for (col = 0; col < 3; col++)
{
ziel[2-row][col] = quelle[row][col];
}
std::cout << std::endl;
}
ShowArray("Ziel-Array:", ziel);
return 0;
}
Würdest du in diese Zeile:
ziel[2-row][col] = quelle[row][col];
so schreiben:
ziel[2-row][2-col] = quelle[row][col];
So wäre der Inhalt der Spalten auch umgedreht.
Die Ausgabe sieht dann im ersten Fall so aus:
Werte in Array aendern
Quell-Array:
1 2 3
4 5 6
7 8 9
Ziel-Array:
7 8 9
4 5 6
1 2 3
Hit any key to continue...
Das ganze kannst du aber auch ganz in Funktionen (später Methoden) verpacken:
#include <iostream>
#include <cstdlib> // wegen EXIT_SUCCESS
void ShowArray(std::string titel, int array[3][3])
{
int row, col;
std::cout << titel << std::endl;
for (row = 0; row < 3; row++)
{
for (col = 0; col < 3; col++)
{
std::cout << array[row][col] << " ";
}
std::cout << std::endl;
}
}
void CopyArrayReverse(int (*ziel)[3][3], int quelle[3][3])
{
int row, col;
for (row = 0; row < 3; row++)
{
for (col = 0; col < 3; col++)
{
(*ziel)[2-row][col] = quelle[row][col];
}
std::cout << std::endl;
}
}
int main(int argc, char **argv)
{
int row, col;
int quelle[3][3]={{ 1, 2, 3},
{ 4, 5, 6},
{ 7, 8, 9}};
int ziel[3][3] = {0};
std::cout << "Werte in Array aendern V0.2" << std::endl;
ShowArray("Quell-Array:", quelle);
CopyArrayReverse(&ziel, quelle);
ShowArray("Ziel-Array:", ziel);
return EXIT_SUCCESS;
}