n-dimensionale Felder in m-dimensionale Felder konvertiert

bruce

Mitglied
Hallo Alles zusammen

ich bin seit gestern mit diesem aufgabe beschäftigt und als ich ein anfang in der programmierung bin..würde ich sehr gern ein hilfe bekommen

hier stelle ich mein programm vor:

Java:
public class ArrayManipulator {
	public static void main(String[] args) {
		int[] d1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
		int[][] d2 = {{1, 2, 3, 4}, {5}, {6, 7, 8, 9, 10}}; d2[1] = null;
		int[][][] d3 = {{{1, 2, 3, 4}, {5}, {6, 7, 8, 9, 10}}, {{11, 12}, {13, 14}, {15}, {16, 17, 18}, {19, 20}}, {{21, 22, 23, 24}, {25}}}; d3[1][3] = null;
		int[] dist = {1, 2, 1, 3, 1, 4, 1, 5};
		System.out.println("##### From 2D to 1D #####");
		print(d2); System.out.println();
		System.out.println("----------");
		print(convertArrayTo1D(d2)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 3D to 1D #####");
		print(d3); System.out.println();
		System.out.println("----------");
		print(convertArrayTo1D(d3)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 1D to 2D #####");
		print(d1); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(d1)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 3D to 2D #####");
		print(d3); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(convertArrayTo1D(d3))); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 1D to 2D (special, non-circular) #####");
		print(d1); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(d1, dist, false)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 1D to 2D (special, circular) #####");
		print(d1); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(d1, dist, true)); System.out.println();
		System.out.println("##############################");
	}

	public static int[] convertArrayTo1D(int[][] input) {
		
		int[] a = new int[4];
		
		return a;
		
		
		
	}

	public static int[] convertArrayTo1D(int[][][] input) {
		
        int[] a = new int[3];
		
		return a;
		
		
	}

	public static int[][] convertArrayTo2D(int[] input) {
		
		int[][] a = new int[6][5];
		a[7] = new int[6];
		return a;
		
	}

	public static int[][] convertArrayTo2D(int[] input, int[] distribution, boolean circular) {
		int[][] output = new int[distribution.length][];
		
		return output;
	}

	private static final void print(int[] input) {
		for (int a = 0; a < input.length; a++) {
			System.out.print((a == 0 ? "[" : ", ") + input[a] + (a == input.length-1 ? "]" : ""));
		}
	}

	private static final void print(int[][] input) {
		for (int a = 0; a < input.length; a++) {
			System.out.print(a == 0 ? "[" : ", ");
			if (input[a] != null) {
				print(input[a]);
			} else {
				System.out.print(input[a]);
			}
			System.out.print(a == input.length-1 ? "]" : "");
		}
	}

	private static final void print(int[][][] input) {
		for (int a = 0; a < input.length; a++) {
			System.out.print(a == 0 ? "[" : ",\n ");
			if (input[a] != null) {
				print(input[a]);
			} else {
				System.out.print(input[a]);
			}
			System.out.print(a == input.length-1 ? "]" : "");
		}
	}
}

das programm sollt folgen ergebnis durchführen:

Code:
/********************\
	 * Expected output: *
	 ********************
##### From 2D to 1D #####
[[1, 2, 3, 4], null, [6, 7, 8, 9, 10]]
----------
[1, 2, 3, 4, 6, 7, 8, 9, 10]
##############################
##### From 3D to 1D #####
[[[1, 2, 3, 4], [5], [6, 7, 8, 9, 10]],
 [[11, 12], [13, 14], [15], null, [19, 20]],
 [[21, 22, 23, 24], [25]]]
----------
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20, 21, 22, 23, 24, 25]
##############################
##### From 1D to 2D #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]
##############################
##### From 3D to 2D #####
[[[1, 2, 3, 4], [5], [6, 7, 8, 9, 10]],
 [[11, 12], [13, 14], [15], null, [19, 20]],
 [[21, 22, 23, 24], [25]]]
----------
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [19, 20, 21, 22, 23], [24, 25]]
##############################
##### From 1D to 2D (special, non-circular) #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[1], [2, 3], [4], [5, 6, 7], [8], [9, 10], , ]
##############################
##### From 1D to 2D (special, circular) #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[1], [2, 3], [4], [5, 6, 7], [8], [9, 10, 1, 2], [3], [4, 5, 6, 7, 8]]
##############################
	\********************/
]

aber leider krieg ich immer ein anderes ergebnis mit immer das inhalt von den Array fonction ein 0:

[##### From 2D to 1D #####
[[1, 2, 3, 4], null, [6, 7, 8, 9, 10]]
----------
[0, 0, 0, 0, 0, 0, 0, 0]
##############################
##### From 3D to 1D #####
[[[1, 2, 3, 4], [5], [6, 7, 8, 9, 10]],
 [[11, 12], [13, 14], [15], null, [19, 20]],
 [[21, 22, 23, 24], [25]]]
----------
[0, 0, 0, 0, 0, 0, 0, 0]
##############################
##### From 1D to 2D #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]
##############################
##### From 3D to 2D #####
[[[1, 2, 3, 4], [5], [6, 7, 8, 9, 10]],
 [[11, 12], [13, 14], [15], null, [19, 20]],
 [[21, 22, 23, 24], [25]]]
----------
[[0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]
##############################
##### From 1D to 2D (special, non-circular) #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[null, null, null, null, null, null, null, null]
##############################
##### From 1D to 2D (special, circular) #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[null, null, null, null, null, null, null, null]
##############################

Konnte mir bite jemand erklären was ich falsch gemacht habe.vielen Dank
 
Zuletzt bearbeitet von einem Moderator:
M

Marcinek

Gast
Nur als Beispiel...

3 - Dimensional zu 1 Dimensional...

Da passiert nix??

Ich würde sagen, dass das falsch ist.

Das resultierende Array muss die Länge x * y * z haben.

Nochmal zurück auf start.
 
Zuletzt bearbeitet von einem Moderator:

ARadauer

Top Contributor
naja im Grunde machst du nix falsch... denn du machst ja auch nix...

Java:
public static int[] convertArrayTo1D(int[][] input) {
        int[] a = new int[4];
        return a;
    }
nur weil du ein neues array im der größe 4 anlegst, wird da nix von input umkopiert... hast dich ja sehr intensiv mit der aufgabe beschäftigt...
 

bruce

Mitglied
naja im Grunde machst du nix falsch... denn du machst ja auch nix...

Java:
public static int[] convertArrayTo1D(int[][] input) {
        int[] a = new int[4];
        return a;
    }
nur weil du ein neues array im der größe 4 anlegst, wird da nix von input umkopiert... hast dich ja sehr intensiv mit der aufgabe beschäftigt...


den 4 ist falsh..ich versuch immer gerade die lösung zu finden!!!!!!
außerdem wie ich gesagt habe,ich bin noch ein anfänge
 
M

Marcinek

Gast
Das Problem hat nix mit java zu tun.

Wenn du ein Schrank hast mit 3 Reihen und 3 Spalten von Schubladen. (== Array 2 Dimensional)

Du möchtest nun einen Schrank haben, der nur in einer Reihe die Schubladen hat (== Array 1 Dimensional)

Wieviele Schubladen muss der Schrank haben???

In der Grundschule haben wir eine Möglichkeit zum schnellen zählen kennengelernt: Man zählt die Spalten (3) und die Zeilen (3) eine multiplikation gibt auskunft über die anzahl. =9

Ergo der neue Schrank muss 9 Schubladen haben in einer Reihe.
 

ARadauer

Top Contributor
wieso soll 4 stimmen?

..ich versuch immer gerade die lösung zu finden!!!!!!
wie gehst du vor? beschreib mal wie du das problem lösen würdest und versuch das mit java umzusetzen. wir helfen dir gerne, aber du musst schon konkrete fragen stellen und mal was versuchen.

Jemand sagt dir du sollst einen Stuhl bauen.. was du jetzt machst, du zeigst auf einen Baum und fragst warum man da nciht bequem drauf sitzen kann..

ein Kollege von dir: http://www.java-forum.org/java-basics-anfaenger-themen/108230-2d-array-1d-konvertieren.html
 

bruce

Mitglied
wieso soll 4 stimmen?


wie gehst du vor? beschreib mal wie du das problem lösen würdest und versuch das mit java umzusetzen. wir helfen dir gerne, aber du musst schon konkrete fragen stellen und mal was versuchen.

Jemand sagt dir du sollst einen Stuhl bauen.. was du jetzt machst, du zeigst auf einen Baum und fragst warum man da nciht bequem drauf sitzen kann..

ein Kollege von dir: http://www.java-forum.org/java-basics-anfaenger-themen/108230-2d-array-1d-konvertieren.html


Danke für den Link..ich brauch jetz ein moment um die andere Lösung zu finden

ich werde in 15 min mein programm wieder stellen und ich hoffen es fonktioniert
 

bruce

Mitglied
:applaus:



So funktioniert programmieren nicht.


hast du recht

ich habe mein max gegeben aber irgendwie komme ich nicht auf as ergebnis..konnte mir jemand erklaren wo habe ich fehle gemacht oder was muss ich gangz genau machen bei die 3D und die 1D

Java:
public class ArrayManipulator {
	public static void main(String[] args) {
		int[] d1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
		int[][] d2 = {{1, 2, 3, 4}, {5}, {6, 7, 8, 9, 10}}; d2[1] = null;
		int[][][] d3 = {{{1, 2, 3, 4}, {5}, {6, 7, 8, 9, 10}}, {{11, 12}, {13, 14}, {15}, {16, 17, 18}, {19, 20}}, {{21, 22, 23, 24}, {25}}}; d3[1][3] = null;
		int[] dist = {1, 2, 1, 3, 1, 4, 1, 5};
		System.out.println("##### From 2D to 1D #####");
		print(d2); System.out.println();
		System.out.println("----------");
		print(convertArrayTo1D(d2)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 3D to 1D #####");
		print(d3); System.out.println();
		System.out.println("----------");
		print(convertArrayTo1D(d3)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 1D to 2D #####");
		print(d1); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(d1)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 3D to 2D #####");
		print(d3); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(convertArrayTo1D(d3))); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 1D to 2D (special, non-circular) #####");
		print(d1); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(d1, dist, false)); System.out.println();
		System.out.println("##############################");
		System.out.println("##### From 1D to 2D (special, circular) #####");
		print(d1); System.out.println();
		System.out.println("----------");
		print(convertArrayTo2D(d1, dist, true)); System.out.println();
		System.out.println("##############################");
	}

	public static int[] convertArrayTo1D(int[][] input) {
		
		int count = 0; 
        for(int i = 0; i < input.length; i++){
            if(input[i] == null)
                continue;
            count += input[i].length;
        }
        
        int [] result = new int[count];
        
        int current = 0;
        for(int i = 0; i < input.length; i++){
            if(input[i] == null)
                continue;
            for(int j = 0; j< input[i].length; j++){
                result[current] = input[i][j];
                current++;
            }
        }
        return result;

		
	}

	public static int[] convertArrayTo1D(int[][][] input)
        {
		
        int count = 0; 
        for(int i = 0; i < input.length; i++)
        {
            if(input[i] == null)
                continue;
            count += input[i].length;

        }
        int [] result = new int[count];
        
        int current = 0;
        for(int i = 0; i < input.length; i++)
        {
            if(input[i] == null)
                continue;
            for(int j = 0; j< input[i].length; j++)
            {
            	continue;
            }
            
            for (int k = 0; k< input.length; k++)
            {
            	continue;
            }
                result[current] = input[i][j][k];

                current++;
        }
        return result;
        }



	
		
	

	public static  int[][] convertArrayTo2D(int[] input)
        {
		
		int count = 0; 
                 int [] result = new int[count];
                int valeurNull= Integer.parseInt(null);
                 int [][]input2  = new int[count][count];
                 int current = 0;

        for(int i = 0; i < input.length; i++)
        {
            if(input[i]==valeurNull)
            { continue;
            }
            //count += input[i].length;
            count = count + input[i];
            
        }
        
       
        for(int i = 0; i < input.length; i++)
        {
            if(input[i]==valeurNull)
                continue;
            for(int j = 0; j< input.length; j++)
            {
                result[current] = input2[i][j];
                current++;
            }
        }
               
        return result ;
		
	}

	public static int[][] convertArrayTo2D(int[] input, int[] distribution, boolean circular) {
		int[][] output = new int[distribution.length][];
		
		return output;
	}

	private static final void print(int[] input) {
		for (int a = 0; a < input.length; a++) {
			System.out.print((a == 0 ? "[" : ", ") + input[a] + (a == input.length-1 ? "]" : ""));
		}
	}

	private static final void print(int[][] input) {
		for (int a = 0; a < input.length; a++) {
			System.out.print(a == 0 ? "[" : ", ");
			if (input[a] != null) {
				print(input[a]);
			} else {
				System.out.print(input[a]);
			}
			System.out.print(a == input.length-1 ? "]" : "");
		}
	}

	private static final void print(int[][][] input) {
		for (int a = 0; a < input.length; a++) {
			System.out.print(a == 0 ? "[" : ",\n ");
			if (input[a] != null) {
				print(input[a]);
			} else {
				System.out.print(input[a]);
			}
			System.out.print(a == input.length-1 ? "]" : "");
		}
	}
}

	/********************\
	 * Expected output: *
	 ********************
##### From 2D to 1D #####
[[1, 2, 3, 4], null, [6, 7, 8, 9, 10]]
----------
[1, 2, 3, 4, 6, 7, 8, 9, 10]
##############################
##### From 3D to 1D #####
[[[1, 2, 3, 4], [5], [6, 7, 8, 9, 10]],
 [[11, 12], [13, 14], [15], null, [19, 20]],
 [[21, 22, 23, 24], [25]]]
----------
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20, 21, 22, 23, 24, 25]
##############################
##### From 1D to 2D #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]
##############################
##### From 3D to 2D #####
[[[1, 2, 3, 4], [5], [6, 7, 8, 9, 10]],
 [[11, 12], [13, 14], [15], null, [19, 20]],
 [[21, 22, 23, 24], [25]]]
----------
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [19, 20, 21, 22, 23], [24, 25]]
##############################
##### From 1D to 2D (special, non-circular) #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[1], [2, 3], [4], [5, 6, 7], [8], [9, 10], , ]
##############################
##### From 1D to 2D (special, circular) #####
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
----------
[[1], [2, 3], [4], [5, 6, 7], [8], [9, 10, 1, 2], [3], [4, 5, 6, 7, 8]]
##############################
	\********************/

danke
 

XHelp

Top Contributor
Sieht verdächtig dannach aus, als ob es sich nicht mal kompilieren lässt. Schreib mal zu jeder Zeile 67..96 mit deinen eigenen Worten was du denkst, was du da gemacht hast...
 

skuzzle

Mitglied
huhu ou man brauch dringend hilfe auch bei der aufgabe :D muss die um 10 abgeben und hock wirklich seit 2 tagen davor und checks nich :/ also ich weiss ich hab ein array sozusagen d1 und d2 mit 2 dimensionen ergo eben Zeilen 0 1 2 uns spalten 012345
d2 hat ja in zeile 0 stehen 1 2 3 4 in zeile 1 die 5 die ja gleich null ist und in zeile 2 eben 678910.
so was ich machen will und auch schon versucht habe ist das ich natürlich jetzt in der methode java anweisen will mir d2[0] d2[1] und d2[2] auszugeben allerdings weiss ich nich wie ich das machen soll das es dem muster im kommentar der aufgabe wie oben ersichtlich entspricht :/ darf ja nich nochmal da iwas mit system.out.prntln machen da des ja scho dasteht :/ hilfe wär echt super :)
 

ARadauer

Top Contributor
uhu ou man brauch dringend hilfe auch bei der aufgabe muss die um 10 abgeben und hock wirklich seit 2 tagen davor und checks nich
naja im grund, das was du da oben hast, ja nix anderes als ein paar zusammen kopierte teile von dem code, den ich im anderen thread gepostet habe.

hab ich recht, wenn ich sage, dass du eigentlich keine ahnung hast was du da machst?

Irgendwie schade, den eigentlich ist das nicht so schwer. Da investiert man eine halbe stunde und ließt sich das array kapitel aus dem lehrbuch oder java insel buch durch.... dann macht man noch ein bis zwei trockenübungen... und dann ist das obige beispiel ein kinderspiel...
Man muss nur verstanden haben, dass ein 2dimensinales array einfach ein feld ist wo felder drinnen sind.

ok um, 10:00 musst du abgeben, naja ich denke da hilfts dir nur noch, wenn dir einer die lösung postet...

ich muss aber in eine besprechung ...
 

skuzzle

Mitglied
doch ich weiss grundsätzlich was ich machen soll kanns aber leider eben nich in java umsetzen das is ja mein problem :/ ich will ja nur die einzelnen zeilen aus d2 da ausgeben lassen allerdings klappts nich weil ich eben nich weiss was java von mir will bzw was ich schreiben soll das er es in system.out.println mit reinschiebt hmpf :/
 

Andi_CH

Top Contributor
Sorry aber da geht mir der A auf Grundeis - wenn dir jetzt einer die Lösung postet hast du rein gar nichts gelernt ..... im Unterricht zuhören und, wie es gesagt wurde, etwas lesen und das Problem ist gelöst - in weniger als einigen Tagen

Soweit meine Hilfe neben dem Thema Java
 

ARadauer

Top Contributor
ich will ja nur die einzelnen zeilen aus d2 da ausgeben lassen allerdings klappts nich weil ich eben nich weiss was java von mir will bzw was ich schreiben soll das er es in system.out.println mit reinschiebt hmpf

wenn du ein array ausgibst. also über ein 2dim array mit einer for schleife drüber gehst und die einzelne zeilen ausgibst... gibt dir java nur eine interne bezeichnung des array aus, da man mit system.out.println keine arrays ausgibt. das bedeutet du musst einfach über das array nochmal drüber gehen, und die einzelenn werte ausgeben... also zwei verschachteltet schleifen...

Java:
class Test {
   public static void main(String[] arg) {
      int[][] zweiDim = {{1,2,3,4,},{5,6,7,8}};
      print2Dim(zweiDim);
   }
   
   public static void print2Dim(int[][] zweiDim){
      for(int i = 0; i <  zweiDim.length; i++){
         //zweiDim[i] ist ein array, das kann man so nicht ausgeben System.out.println(zweiDim[i]);
         //aber wie man über ein array drüer "iteriert" haben wir ja zwei zeilen drüber schon
         for(int j = 0; j< zweiDim[i].length; j++){
            //zweiDim[i][j] ist eine zahl... das können wir ausgeben
            System.out.print(zweiDim[i][j]+", ");
         }
         //hier ist die zeile zuende
         System.out.println();
      }
   }
}
sowas müsste in jedem standard buch erklärt sein, du hast es sogar schon in deinem code. bei dir wurde halt nur die innere for schleife in eine eigene methode ausgelagert...


bruce... was studierst du?
 

skuzzle

Mitglied
Sorry aber da geht mir der A auf Grundeis - wenn dir jetzt einer die Lösung postet hast du rein gar nichts gelernt ..... im Unterricht zuhören und, wie es gesagt wurde, etwas lesen und das Problem ist gelöst - in weniger als einigen Tagen

Soweit meine Hilfe neben dem Thema Java

was bringen mir lehrbücher und erklärungen wenn ich das teil dann nich ma testen kann weil ich die andren teilaufgaben schlichtweg nich richtig hab aber n lauffähiges programm abliefern muss ? geschweigedenn das diverse tutoren nich im ansatz auf fragen antworten können weil se selber nachgooglen müssen oder eben nich ansatzweise ein beispiel gebracht wird was im entferntesten was mit der aufgabenstellung zu tun hat :/
 

skuzzle

Mitglied
das sollte etz kein angriff oder ähnliches sein ich bin wirklich dankbar für jede unterstützung und hilfe! allerdings bekomm ichs trotzdem nich zum laufen :/
 
M

Marcinek

Gast
Also im realen Leben bringt dir nicht auch jedesmal jemand ein Beispiel...

Und i.d.R. hat man in der Uni immer 7 Tage füe ein Übung. Wenn man sich damit nicht beschäftigt sondern einfach nur copy paste aus foren macht... *schulterzuckt*

Ich würde natürlich gegen eine Gegenleistung dir die Lösung schreiben, aber bin auch ausgebucht mit eigenem Kram =(

Was wäre es dir den Wert?
 

skuzzle

Mitglied
etz is au scho rum und ich weiss das man 7 tage dafür zeit hat was einem allerdings wenig bringt wenn du davon 4 tage flach liegst... und wie gesagt du hast schon recht allerdings isses halt als anfänger schwer sich ohne jegliche beispielaufgaben ohne lösungen die sachen nur halbwegs nachvollziehen zu können da bringen einem übungen oder sonst was nix wenn es einem niemand auf verständliche weise erklärt. damit meinte ich nich euch sondern auch eben tutoren oder sonst wen
 

skuzzle

Mitglied
abgabe war etz um 10 uhr von daher hab ich eh verschissen :) allerdings wär ich trotzdem im laufe des tages über ne lösung fürs archiv froh damit ichs wenigstens grob nachvollziehen kann wie wo was
 

Andi_CH

Top Contributor
was bringen mir lehrbücher und erklärungen wenn ich das teil dann nich ma testen kann weil ich die andren teilaufgaben schlichtweg nich richtig hab aber n lauffähiges programm abliefern muss ? geschweigedenn das diverse tutoren nich im ansatz auf fragen antworten können weil se selber nachgooglen müssen oder eben nich ansatzweise ein beispiel gebracht wird was im entferntesten was mit der aufgabenstellung zu tun hat :/

Mein letzter Schulabschluss ist ziemlich genau ein Jahr her - ich weiss wie es läuft! (Und das war auf Master-Niveau - da wird noch viel weniger erklärt als bei dir und die Dozenten wissen auch nicht immer mehr)
Genau zuhören - suchen - auch am Samstag / Sonntag (ich hatte 70 Stunden pro Woche zu tun) und dann klappts - du wirst rein gar nichts lernen wenn du jetzt die Lösung bekommst und uns bei der nächsten Aufgabe wieder löchern mit "Hilfeeeee ..... "

Wenn du schon die Aufgaben davor nicht richtig hattest ... gehen bei mir alle Alarmglocken los.

Ich weiss ich bewege mich an der Grenze dessen was der Admin toleriert, aber bitte Admin sieh das als Versuch jemandem beizubringen was erfolgreich lernen heisst.

Hm - ausserdem gibt es das Hausaufgabenforum hier ....
 

skuzzle

Mitglied
ja ich weiss scho :) da geb ich dir vollkommen recht ohne widerspruch allerdings lern ich persönlich am besten wenn ich ne orientierung hab an der ich mich bewegen kann. das war im abi so und das is ansich in andren modulen so bei denen man die klausuren der letzten jahre durchmacht inkl. lösungen.
es gibt nunmal verschiedene lernmethoden und wie gesagt für mich funktioniert eben am besten ne problemlösung die ich schlicht nich lösen kann anhand der lösung nachvollziehen zu können bzw mich damit zu beschäftigen ums mir für die zukunft zu merken. beim ersten übungsblatt hatte ich ja im endeffekt dann au 95 % nach der hilfe hier ohne explizite lösung bzw die die gepostet wurde hatte ich gar nich mehr verwendet/gesehen.
wie gesagt ich denke ich bin alt genug zu wissen wie ich mir diversen stoff am besten aneigne aber geb dir natürlich au recht ich will das forum ja nich als lösungsquelle sondern als hilfe annehmen und diesmal hab ich das alles a bissi zu kurzfristig angegangen :)
 
M

Marcinek

Gast
BTT:

Dann fangen wir doch an ein 2D Array in ein 1D zu bekommen.

1. Benötigen wir einen Plan, den ich dir hier gebe.

Du benötigst die Anzahl der Felder im 1D Array, das ist die summe der nichtleeren felder im 2d Array.

Also müssen wir das komplette array durchiterieren und zählen.

2. Pseudocode

du
3. Implementierung
du
 

ARadauer

Top Contributor
was bringen mir lehrbücher und erklärungen wenn ich das teil dann nich ma testen kann weil ich die andren teilaufgaben schlichtweg nich richtig hab
du kannst hier rumheulen so viel du willst, ich mach dir deine aufgabe nicht. Ich helf dir gerne, wenn du konkrete fragen hast.

ich würd halt erstmal das teil zum laufen bringen.... und dazu brauchst du grundlagen die im leerbuch stehen....

Java:
 for(int j = 0; j< input[i].length; j++)
            {
                continue;
            }
            
            for (int k = 0; k< input.length; k++)
            {
                continue;
            }
                result[current] = input[i][j][k];
warum geht das nicht? j cannot be resolved! warum, da steht doch j? ja aber die variable ist nur innerhalb der schleife gültig...
und ausserdem gehören die schleifen verschachtelt und nicht untereinander...


warum compiliert deine convertArrayTo2D nicht? Typmissmatch cannot convert from int[] to int[][]

Java:
public static  int[][] convertArrayTo2D(int[] input)
        {
        
        int count = 0; 
                 int [] result = new int[count];
mhn dein result ist ein int[] und dein rückgabewert ein int[][]... das passt nicht.



also noch ein tipp, wenn du viel code hast der nicht kompiliert, dann kommentier halt einfach mal die stellen aus die nciht gehen. und natürlich dann noch die stellen wo sie benutzt werden...
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
und wie gesagt du hast schon recht allerdings isses halt als anfänger schwer sich ohne jegliche beispielaufgaben ohne lösungen die sachen nur halbwegs nachvollziehen...
mensch das ist java! wie man ein array initalisiert, drüber iteriert, werte umkopiert. ein mehrdimensionales array in ein eindimensionales konvertiert... da gibts doch millionen beispiele im internet.

Und ich hab es die letzen wochen schon öfter gesagt. Man lernt durch das sehen von solchen Beispielen als Anfänger fast nix. Ist wie wenn du auf die Lösung einer Integralgleichlung schaust. Uhhhh 3,2 toll!

Also das sind ganz einfache Beispiele! Anschaun und versuchen das Problem in Teilprobleme aufteilen. Die kleinen Teilproblmeme (Iterieren über Array, addieren, neues array instanzieren) coden... bei Problemen fragen... wir helfen gerne..

Wenn aber hier nur Aufgabenstellungen mit dem Kommentar "Hilfe ich kann das nicht" kommen, wird dir keiner eine sinnvole Hilfe bieten!
 

skuzzle

Mitglied
BTT:

Dann fangen wir doch an ein 2D Array in ein 1D zu bekommen.

1. Benötigen wir einen Plan, den ich dir hier gebe.

Du benötigst die Anzahl der Felder im 1D Array, das ist die summe der nichtleeren felder im 2d Array.

Also müssen wir das komplette array durchiterieren und zählen.

2. Pseudocode

du
3. Implementierung
du

und das is ja mein problem ich versteh nich wie im code zu sehen warum ich nich einfach den schon festgelegten array ausgeben lassen kann .
warum kann ich nich einfach sagen
zeige an = d2[0]
zeige an = d2[1]
zeige an = d2[2]
zeige an = (d2[0] + d2[2])
warum muss ichs durchzählen hab doch grundsätzlich d1 u d2 schon dekliniert und warum checkter das in " public static int[] convertArrayTo1D(int[][] input)" nich mehr ? das sin so meine probleme wo ich ansetz. ich weiss was es mir ausgeben soll bzw machen soll ich weiss was der programmersteller mit dem gerüst gemacht hat kann aber eben noch nich so wirklich nachvollziehen was wie wo etz verwendbar is :/

Java:
public class ArrayManipulator {
    public static void main(String[] args) {
        int[] d1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int[][] d2 = {{1, 2, 3, 4}, {5}, {6, 7, 8, 9, 10}}; d2[1] = null;
        int[][][] d3 = {{{1, 2, 3, 4}, {5}, {6, 7, 8, 9, 10}}, {{11, 12}, {13, 14}, {15}, {16, 17, 18}, {19, 20}}, {{21, 22, 23, 24}, {25}}}; d3[1][3] = null;
        int[] dist = {1, 2, 1, 3, 1, 4, 1, 5};
...
 public static int[] convertArrayTo1D(int[][] input)
...
/********************\
	 * Expected output: *
	 ********************
##### From 2D to 1D #####
[[1, 2, 3, 4], null, [6, 7, 8, 9, 10]]
----------
[1, 2, 3, 4, 6, 7, 8, 9, 10]
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Du machst das viel zu unstrukturiert.

Ich verstehe deinen Text auch nicht so richtig / Kann ich da nicht so folgen.

Was verstehst du hier nicht

~
Du benötigst die Anzahl der Felder im 1D Array, das ist die summe der nichtleeren felder im 2d Array.

Also müssen wir das komplette array durchiterieren und zählen.
~

Du musst doch beliebige 2D arrays zu 1d machen und nicht nur das, was da vorgeben ist.. Weil sonst wäre es ja witzlos.
 

ARadauer

Top Contributor
und das is ja mein problem ich versteh nich wie im code zu sehen warum ich nich einfach den schon festgelegten array ausgeben lassen kann .
weil ein array ein komplexerer datentyp ist und es wahrscheinlich verschiedene erwartungen gibt wie die ausgabe einer zahlenliste aussehen soll..

also zeigt man jede zahl einzeln an.. ist ja kein problem


(d2[0] + d2[2])
was soll hier passieren? die zahlen aufaddieren oder die zahlen einfach aneinander reihen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Düsseldorf2002 Datentypen Zwei dimensionale LinkedList Java Basics - Anfänger-Themen 8
M 2 dimensionale Array Java Basics - Anfänger-Themen 5
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
ArkHeat Erste Schritte Zwei 2-dimensionale Matritzen addieren Java Basics - Anfänger-Themen 0
S 2 Dimensionale arrays Java Basics - Anfänger-Themen 8
T Methode, die eine 2 dimensionale Matrix kopiert. Java Basics - Anfänger-Themen 16
D n-dimensionale Points modellieren Java Basics - Anfänger-Themen 3
U zwei Dimensionale ArrayList? Java Basics - Anfänger-Themen 6
N 2 dimensionale generische Arrays Java Basics - Anfänger-Themen 9
R Mehr-Dimensionale ArrayList o.Ä. Java Basics - Anfänger-Themen 11
C 2 dimensionale Arrays Java Basics - Anfänger-Themen 23
F 2 dimensionale Arrays Java Basics - Anfänger-Themen 15
B 2-Dimensionale Arrays Java Basics - Anfänger-Themen 3
G in eine 2-dimensionale Array eintragen? Java Basics - Anfänger-Themen 10
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
A Felder: arithmetisches und geometrisches Mittel Java Basics - Anfänger-Themen 3
L Datentypen Deklarierte Felder einer Generic Klasse bestimmen Java Basics - Anfänger-Themen 7
Elyt Bei Monopoly werden Felder übersprungen Java Basics - Anfänger-Themen 2
L Listen und Felder Java Basics - Anfänger-Themen 2
neerual Int-Felder erzeugen Java Basics - Anfänger-Themen 16
P Felder König array Java Basics - Anfänger-Themen 6
T Art 4 Felder Matrix Memory Java Basics - Anfänger-Themen 2
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
D Felder Java Basics - Anfänger-Themen 2
D Übung Felder java Error kompilieren Java Basics - Anfänger-Themen 4
M Felder leer - überprüfen? Java Basics - Anfänger-Themen 2
S reflection und felder Java Basics - Anfänger-Themen 12
X Verknüpfte Excel Felder mitändern Java Basics - Anfänger-Themen 6
Z Erste Schritte 9x9 Felder Erzeugen+Aufrufen Java Basics - Anfänger-Themen 1
S Wie instanziert man Felder? Java Basics - Anfänger-Themen 11
V Zwei Felder Adderen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M Spielfeld mit 10x10 Felder Java Basics - Anfänger-Themen 13
E Felder bei falscher Eingabe leeren Java Basics - Anfänger-Themen 8
S Felder mit Variablen/Tabellen verknüpfen! Java Basics - Anfänger-Themen 3
M Felder mit Methode verändern Java Basics - Anfänger-Themen 11
W Datentypen Felder mit Potenzen Java Basics - Anfänger-Themen 31
C Erste Schritte felder, die public final sind Java Basics - Anfänger-Themen 6
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
C Felder(Größte Zahl, Index) Java Basics - Anfänger-Themen 6
K Felder Java Basics - Anfänger-Themen 5
M 3 Felder, Barcode, reinschreiben in die DB Java Basics - Anfänger-Themen 30
D Datentypen Felder: Deklaration und Initialisierung Java Basics - Anfänger-Themen 5
C Java Felder bearbeiten Hilfe Java Basics - Anfänger-Themen 4
H Felder mit unterschiedl. Typen sortieren Java Basics - Anfänger-Themen 5
H felder vergleichen Java Basics - Anfänger-Themen 6
F Felder von aufrufender Klasse ändern Java Basics - Anfänger-Themen 16
A Felder Java Basics - Anfänger-Themen 7
A Mehrdimensionale Felder Java Basics - Anfänger-Themen 18
C Felder im Dialog zurücksetzen Java Basics - Anfänger-Themen 3
E Wechselnde Felder erzeugen Java Basics - Anfänger-Themen 15
maddin86 Eine Methode für ein- und zweidimensionale double Felder als Parameter? Java Basics - Anfänger-Themen 5
A Felder- Minimum/Maximum Java Basics - Anfänger-Themen 2
D Felder Java Basics - Anfänger-Themen 7
D Felder Java Basics - Anfänger-Themen 2
T Border Layout alle mittleren felder gleich groß Java Basics - Anfänger-Themen 3
C Speicherverwaltung für Felder Java Basics - Anfänger-Themen 8
S EINDIMENSIONALE FELDER? Java Basics - Anfänger-Themen 23
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
M Felder (Wo liegt der Fehler?) Java Basics - Anfänger-Themen 2
D Wie werden Felder grau? Java Basics - Anfänger-Themen 26
S generische Felder Java Basics - Anfänger-Themen 2
A Felder Java Basics - Anfänger-Themen 3
D String mit split teilen und leere Felder behalten Java Basics - Anfänger-Themen 4
R Felder unterschiedlichen Typs Java Basics - Anfänger-Themen 9
J 2 Felder aus DB selektieren u. in JList - eines verstecken? Java Basics - Anfänger-Themen 7
T Suche über mehrere Felder value = key = value Java Basics - Anfänger-Themen 3
B Array doppelt Felder löschen Java Basics - Anfänger-Themen 27
B clone(), Clonable und Felder von Interfacetypen Java Basics - Anfänger-Themen 3
G Felder kopieren Java Basics - Anfänger-Themen 8
G Felder-Länge Java Basics - Anfänger-Themen 2
G Felder zurückgeben? Java Basics - Anfänger-Themen 3
C Früheste Datum aus 3 Felder Java Basics - Anfänger-Themen 20
M Felder innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 2
D Felder vergleichen Java Basics - Anfänger-Themen 14
D Verbindung von Methoden und Felder Java Basics - Anfänger-Themen 3
A Aus dem menü heraus andere Felder bearbeiten Java Basics - Anfänger-Themen 2
S Statische Felder - statische Methoden Java Basics - Anfänger-Themen 2
G variable felder in java? geht das? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben