0 Daumen
431 Aufrufe

Frage:

matrix reverse rows in c

Ein 2-dimensionales Array von Integer Werten wird an diese Methode übergeben. Der Rückgabewert ist das übergebene Array, in dem die Werte der Spalten umgedreht (reversiert) sind.

C sharp 2D Arrays


Code:

Input
[ 1 2 3 ]
[ 4 5 6 ]
[ 7 8 9 ]

Ergebnis – die Werte in den Spalten sind umgedreht:


[ 7 8 9 ]
[ 4 5 6 ]
[ 1 2 3 ]

Kann jemand mir hier weiter helfen?

von

Vom Duplikat:

Titel: Programmieren 2d Arrays?

Stichworte: java,csharp,array,methoden

Frage:

Programmieren 2d Arrays?
Ein 2-dimensionales Array von Integer Werten wird an diese Methode übergeben. Der Rückgabewert ist das übergebene Array, in dem die Werte der Spalten umgedreht (reversiert) sind.

blob.png


Kann jemand mir bei lösen diese Aufgabe vielleicht helfen?

Programmiersprache = C#

Danke im voraus!

1 Antwort

0 Daumen

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

von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort
0 Daumen
1 Antwort
Gefragt 25 Mär 2018 von Gast

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community