4.4.

Löschen und Nachrücken in Array

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

4.4.
Hallo miteinander,
mein Problem lautet: Wie bringe ich mein Programm dazu das zweite Element zu löschen, wenn es mit dem ersten Element addiert wurde.
Also das bei ns = {1, 1, 3, 4}
Herauskommt ns = {2, 3, 4}
und nicht wie es bei mir momentan der Fall ist
ns = {2, 1, 3, 4}


Ich habe den Spaß mit einem temporären Array gelöst. :wink:


Das kann man zwar machen, ist aber nicht besonders sinnvoll, da du so quadratische Laufzeit statt linearer hast.


Wenn man denn Imports verwenden dürfte, würde sich das auch viel eleganter lösen lassen :wink:


Fuer Konversionen von int zu String brauchst du keine imports :p.


Ich dachte immer das heißt Konvertierung. Aber 1) ist es kein int, sondern ein int und 2) braucht man dafür auch wirklich keine Imports.

Das Problem ist eher folgendes:

input = {2,2,4,5,6,7,8,8}
output= {4,4,5,6,7,16}

Was sehen wir? Zwei Arrays mit einer unterschiedlichen Länge. Und wie bekommt man das hin ohne temp? Richtig, meiner Meinung nach gar nicht, da wir keine Array-Funktionen haben.


Seit wann ist der Output denn ein Array?


Ist es logischerweise nicht, nur ein Beispiel. Das Output ist natürlich ein String :wink:

Ich glaube dann klingelt mir auch, wie ihr das ohne ein temporäres Array machen wollt, aber ob das jetzt so zwingend besser ist? Bei der Übung ist es doch im Grunde egal, Hauptsache der Kram funktioniert…


^This.

Whoops, manchmal sind die Finger schneller als der Geist :smiley:

E: ja while
siehe Aufgabe 4.4 Eingangsarray verändern? - #6 von xenexi - Algorithmen und Datenstrukturen - FSI Informatik Forum


aber ich muss doch java.util.Arrays improtieren um überhaupt den Array als String ausgeben zu können. Weil sonst mekert er jedes mal, das er einen String ausgegeben haben möchte und wenn ich ihm merge wiedergebe kommt outofbounds.


Du darfst afaik keine Imports verwenden. Ich brauchte keinen. Um einen Array als String auszugeben, reicht es schon, einen String mit den Werten des Arrays zu füllen. Da benötigt man die Utils nicht zwingend :wink:


Um das mal aufzulösen:
Imports aus der Java-API sind jederzeit erlaubt, sofern diese nicht, wie z.B. bei Aufgabe 3.5 explizit verboten sind.
Es schadet aber auch nicht, sowas selbst zu programmieren.

Denn, stellt euch vor, auch java.util.Arrays.toString(int a) ist in Java programmiert! (und kann sich natürlich nicht selbst verwenden…)

1 Like

Gut zu wissen, dass ich mir dann wohl zu viel Arbeit gemacht habe.