Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Anzahl an Werte einlesen » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
Informatikanfänger20

Gut. Danke für deine Hilfe smile Daumen hoch Wink
as_string

Genau. So verstehe ich das zumindest.

Gruß
Marco
Informatikanfänger20

D.h so wie ich es mit der for Schleife gemacht habe:
Also z.b im Arra steht 4 3 8 5. Dann ist die Ausgabe 5 8 3 4 oder?
as_string

Sortieren ja so wie so nicht, da ist ja nur die Rede von:
Zitat:
[...]der Inhalt des Arrays in umgekehrter Reihenfolge ausgegeben werden.

Also ich verstehe das eben so, dass das Array "in umgekehrter Reihenfolge ausgegeben werden soll. Da ist weder die Rede von Sortieren noch davon, dass das Array selbst verändert werden soll, oder?
Zumindest verstehe ich das so.

Gruß
Marco
Informatikanfänger20

Ja ich hätte gedacht, dass es so gemeint, dass man dass Array sotieren soll.

Aber du meinst einfach, dass ich mein Array einfach folgendermaßen ausgeben lasse:
code:
1:
2:
3:
4:
5:
for(int i=n-1; i>=0;i--){
System.out.println(Werte[i];
}
as_string

Ich verstehe den letzten Teil der Aufgabe aber nicht so, dass das Array in sich umgedreht werden soll, sondern nur dass die Ausgabe in umgekehrter Reihenfolge passieren soll. Das könntest Du auch einfach machen, indem Du in der for Schleife von n-1 runter nach 0 zählst und alle Elemente direkt ausgibst.
Ich weiß nicht, was genau Du noch korrigiert hast, aber in der letzten for-Schleife steht die Zahl 4 als Obergrenze. Muss das aber nicht passend zu n sein und nicht immer 4?
Außerdem stimmt das mit dem Reihenfolge umdrehen überhaupt nicht. Das ist ja fast eine Art sortieren oder so...

Gruß
Marco
Informatikanfänger20

Ich habe es hinbekommen. Danke für eure Hilfesmile Daumen hoch Daumen hoch
Informatikanfänger20

Danke Daumen hoch

Das ist bis jetzt mein Ergebnis:

code:
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:
26:
27:
28:
29:
30:
31:
32:
import java.io.*;
 public class Sotierer3 {
 public static void main (String[] args) throws IOException{ 
double speicher=1;
 double ergebnis;
 BufferedReader ein = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Anzahl der Werte eingeben:");
 int n = Integer.parseInt(ein. readLine());
 System.out.print("Eingabe konkreter Werte: ");
 double [] Werte = new double[n]; 
for(int i=0; i<n; i++) {
 Werte[i]= Double.parseDouble(ein.readLine()); 
}
 for(int i=0; i<n; i++) {
 speicher *= Werte[i]; 
} 
ergebnis= Math.pow(speicher, 1.0/n);
 System.out.println("geometrisches Mittel: " + ergebnis); 

System.out.println("Array in umgekehrter Reihenfolge: ");
 for(int i=n-2; i>=1;i--) {
 for(int j=i+1; j>=0;j--) {
 if(Werte[i]<Werte[j]) { 
double ort= Werte[i];
 Werte[i]= Werte[j]; 
Werte[j]= ort; }
 }
 }
 for(int i=0; i<4;i++) {
 System.out.println(Werte[i]);
 } 
}
 }


Die Ausgabe der umgekehrten Reihenfolge funktioniert noch nicht. Wo ist da der Fehler?
as_string

So weit ich weiß geht das nur über die Funktion Math.pow(x, y). Die rechnet x-hoch-y aus. Die n-te Wurzel ist ja einfach x^(1/n). Allerdings hier Vorsicht: wenn Du nur 1/n schreibst und n ein int ist, macht er eine Ganzzahldivision und in diesem Fall würde dann immer 0 raus kommen. Du musst dann also 1.0/n schreiben.

Gruß
Marco

Edit: huch, da habe ich zu lange getippt. Karlito war ganze 10min schneller!
Karlito

So:

[latex]<br />
\sqrt[n]x = x^{\frac{1}{n}}<br />
[/latex]

Und herausfinden, wie man in Java Potenzen macht. Bitte nicht sowas machen:
code:
1:
x^(1/n) //Nicht! machen!


Besten Gruß,

Karlito
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.