ich hab eine Frage mal ganz ob das nun Funktioniert bzw. richtig ist oder nicht möchte ich die Markoff-Zahlen bzw. soll ich finden.
Nun hab ich so Angefangen:
Java:
int n=10;int[] nArray=newint[n*100];for(int i=1;i<n;i++)for(int j=1;j<n;j++)for(int k=1;k<n;k++){if(i*i+j*j+k*k==3*(i*j*k)){int quersumme=i+j+k;}System.out.println("("+i+","+j+","+k+")");}
Jetzt habe ich nur das Problem das ich keine Ahnung habe wie ich die Arrays richtig benutze :-(
Ich möchte nun jeden Wert der quersumme in das Array speichern. Dabei hab ich schon ein Problem :-(
Des weiteren möchte ich dann das in jedem Schritt durchgefragt wird in diesem Array ob die Quersumme schon vorhanden ist wenn JA nicht Printen!!! Wie bekomme ich diese Zwei Aufgaben hin?
NEIN ihr sollte das nicht Lösen und NEIN ich möchte auch nicht hören ob das wirklich Funktioniert ich möchte eigentlich den Umgang mit Arrays lernen und dabei hab ich mir das eben so ausgedacht
Wäre super Lieb von euch wenn Ihr mir unter die Arme greifen könntet =)
Danke im voraus.
Hoffentlich versteht man das geschwollene Deutsch bin in den letzten Tagen nicht ganz bei mir
Sorry aber das hättest du dir schenken können so ein Beitrag!
Ich benötige Hilfe. Das Buch hab ich mir gekauft und hab mir das Thema durchgelesen doch ich verstehe es immer noch nicht!
Deswegen schreib ich hier ja auch ein Beitrag tzzz!!!
i*j*k ist genau die Stelle im Array an der du dich befindest. So kannst du über arr[i*j*k] auf die Elemente zugreifen.
Bedenken bitte dabei dass Arrays immer bei 0 anfangen zu zählen.
Sorry aber das hättest du dir schenken können so ein Beitrag!
Ich benötige Hilfe. Das Buch hab ich mir gekauft und hab mir das Thema durchgelesen doch ich verstehe es immer noch nicht!
Deswegen schreib ich hier ja auch ein Beitrag tzzz!!!
Du hast doch genau geschrieben, was du alles nicht wissen willst und das du nur etwas über den Umgang mit Arrays lernen möchtest. Würdest du eine konkrete Frage stellen, was du an Arrays nicht verstanden hast, dann könnte man auch konkreter darauf antworten. In deinem Codebeispiel wird zwar ein Array definiert, aber es wird nicht verwendet, welche Antwort erwartest du also?
Der count macht das ganze ja doch sehr redundant. Versuch doch mal die Schleife rückwärts laufen zu lassen und sieh was dir dann noch einfällt.
EDIT:
Ich hab mich eben mal an die kleine Aufgabe rangesetzt und man kann es auch (wahrscheinlich sogar einfacher für den Kopf) mit inkrementieren machen.
Ansonsten finde ich die Sache mit dem counter dennoch sehr witzlos.
Daher überleg dir mal, wie
bar und foo2[xXx] im Zusammenhang stehen.
Bei bar füllst du in dem Falle von vorne und bei foo2 ließt du somit von hinten aus.
Jetzt wird es von rechts nach links verschoben ich würde es aber sehr gerne von links nach rechts verschieben lassen. Doch leider weiß ich auch hier nicht wie es geht. Bei mir steht dann immer im Array 10 10 10 10 10 :-(
Einfache Mathematik
"i" wird größer und "count" wird im gleichen Maße kleiner. Überlege mal was rauskommen würde, wenn man "i" immer von der Länge des Arrays abziehen würde...
so vielen Dank dafür =) ich weis nicht wieso ich mir da so schwer tue ich dachte die ganze Zeit i%3 oder sowas in der richtung würde ja auch für 2 Fälle klappen aber die anderen eben nicht
wie bekomme ich das hin von rechts anzufangen zu verschieben ohne die Elemente zu überschreiben? Oben wird ja von links verschoben ich möchte aber geren von rechts verschieben doch dann steht bei mir in jedem Element nur 10 drin :-(
Ich verstehe noch nicht genau was du machen willst? Soll das letzte Element nach dem Verschieben an ersten Stelle stehen? Dann reicht es aus, dass erste und letzte Element zu tauschen, dazu ist keine Schleife notwendig.
Falls du irgendein Element um eine bestimmte Anzahl von Positionen nach vorne "schieben" möchtest, dann ist der Startwert von "i" das erste zu verschiebende Element, das dann immer über eine temporäre Variable mit dem vorherigen Element getauscht werden muss.
Soll das letzte Element nach dem Verschieben an ersten Stelle stehen? Dann reicht es aus, dass erste und letzte Element zu tauschen, dazu ist keine Schleife notwendig.
Hier mal die Aufgabenstellung:
Elemente verschieben
Gegeben sei ein Array: foo={10,20,30,40,50}
verschieben sie alle Elemente ab Index 1 um eine Stelle nach rechts. Als ergebnis sollte hinter das folgende in foo stehen:
[0]=10
[1]=10
[2]=20
[3]=30
[4]=40
1. Wozu soll diese Zeile nach der ersten Schleife gut sein? foo[0]=erste;
2. Die if-Abfrage in der zweiten Schleife kannst Du Dir sparen, wenn Du die Schleifenbedingung etwas anpasst...
foo[0]=erste; ist das speichern des ersten Gliedes aus dem Array das ich später wieder an die erste Stelle schreibe.
Man könnte es auch raus löschen oder nichts machen.
Ja die if Abfrage ist unnötig wenn man in der for-schleife gleich nur bis length-1 läuft z. B.
Doch ich wollte nur das alte Thema damit beenden das hatte ich damals nicht hin bekommen
Nun klappt es