Zweidimensionales Array in ein eindimensionales Array speichern

Snaer

Aktives Mitglied
Guten Tag,

Ich möchte gerne ein zweidimensionales Array in ein eindimensionales Array speichern, dabei allerdings die größte Zahl der beiden Array weg lassen.
Dabei gibt mir die Konsole aber immer jeweils die 5 und 7 aus anstelle nur 5.
Mache ich einen Fehler beim umwandeln des Arrays ? Und welche Möglichkeit hätte ich die größte Zahl dabei wegzulassen?
Derzeit sieht mein Code so aus:
Code:
public class max {

    public static void main(String[] args) {

        int[] a = new int[6];

        int[][] b = { new int[] { 5, 2, 3 }, new int[] { 4, 7, 6 } };



        int counter = 0;

        for (int i = 0; i < b.length; i++) {

            for (int j = 0; j < b.length; j++) {

                a[counter] = b[j];



                counter++;

            }

                int max = 0;

                for (int k = 0; k < a.length; k++) {

                    if (a[k] > max)

                        max = a[k];



                }

            System.out.println(max);

            }



        }
 
Und unabhängig davon, dass es der dritte Thread zu einem Thema ist: bitte immer genau durchgeben, was geht bzw. Nicht geht. Und was für Ideen oder Ansätze hattest du denn bezüglich des Weglassens des größten Wertes?

Und wenn Code sich nicht übersetzen lässt, dan sollte man da die genaue Fehlermeldung angeben und so. So wie ich das auf den ersten Blick sehe dürfte sich Dein Code nicht übersetzen lassen ....
 
Ach ja - wo es um Ideen geht: Bei den anderen Threads ist auch Bubblesort als Begriff aufgekommen.

Evtl. ist ja auch QuickSort behandelt worden. Die ganze Thematik ließe sich aus meiner Sicht auch sehr schön mit einer Abwandlung des QuickSort Algorithmus abhandeln. Das einfach einmal als ein kleiner Hinweis bezüglich Deiner Frage nach den Möglichkeiten....

(Die Idee hätte in den anderen Threads eher verwirrt, aber das wäre so meine Sichtweise... Denn nehmen wir einfach einmal den Fall, dass wir genau zwei Arrays haben: Das ist dann ja prinzipiell wie der Stand, nachdem man bei QuickSort das Array in zwei Teile aufgebrochen hat. Dann erfolgt erst ein Aufruf für beide Teile und dann erfolgt ja ein Merge von zwei Arrays in ein Array. Da das höchste Element weggelassen werden soll, muss man sich überlegen, was da dann für eine Anpassung kommen muss ...

Und siehe da: Da erhalte ich dann direkt ein Array mit den Werten, das dann auch schon sortiert ist. (Das war wohl Bestandteil der Aufgabe)

Evtl. kann man mit so einem Ansatz viel schneller zu einer funktionierenden Lösung kommen, wobei ich meine, dass man den Weg, dass man so einen Algorithmus von Grund auf schreibt, auf jeden Fall auch machen sollte, denn die Tatsache wie hier die Leute mit der Aufgabe aufgeschlagen sind, macht deutlich, dass diese Übung für die Personen existenziell ist.
 
Tut mir Leid irgendwie habe ich diesen Thread selbst nach längeren googeln nicht gefunden 🙄
 

Zurück
Oben