Ich bin ein Neuling bei C# und wollte versuchen, dass der Benutzer 3 Zahlen eingeben und den Median dafür bekommen und dann wieder 4 Zahlen eingeben und einen anderen Median dafür bekommen, aber ich weiß nicht, wie man die Zahlen bekommt numerische Ordnung. Leute haben mir gesagt, entweder Arrays oder Variablen zu verwenden, aber nachdem ich etwas über diese gelesen habe, weiß ich immer noch nicht, wie man eine numerische Reihenfolge programmiert. Wenn jemand Tipps hat, würde ich das sehr schätzen. Danke im Voraus.Wie mache ich einen Median von 3 und 4 Zahlen in C#?
Antwort
Median ein Mittelpunkt der sortiert Sequenz ist:
https://en.wikipedia.org/wiki/Median
int[] array = new int[] { 15, 7, 110, 20};
Array.Sort(array);
// 17.5
// if we have odd length (3 items) we just return the middle item
// in case of even length (4 items) we compute middle as a average of two "middle" items
double median = array.Length % 2 == 0
? (array[array.Length/2] + array[array.Length/2 - 1])/2.0
: array[array.Length/2];
So haben wir
7, 15, 20, 110 - sequence sorted
(15 + 20)/2 = 17.5 - "middle" item is an average of 15 and 20
Bei 3
Artikel, sagen { 15, 7, 110 }
wir haben
7, 15, 110 - sequence sorted
15 - middle item
bearbeiten: Wenn ternäre Operator? :
in double median = ... ? ... : ...;
sieht zu komplex, kann es in guten alten if ... else
(siehe Kommentare) geändert werden
...
double median;
if (array.Length % 2 == 0)
median = (array[array.Length/2] + array[array.Length/2 - 1])/2.0;
else
median = array[array.Length/2];
Sieht korrekt aus, obwohl ich eine detaillierte Erklärung für die letzte Zeile hinzufügen würde Code, selbst als erfahrener Programmierer sieht es überwältigend aus! Da ist eine ganze Menge los, die ein Noob nicht verstehen würde =) –
Obwohl es den Code kürzer macht, würde ich vorschlagen, 'if' /' else' über den Bedingungsoperator '' '' zu verwenden. Es macht den Code klarer zu lesen und zu verstehen, besonders wenn Sie kein erfahrener Programmierer sind. –
@Ian H .: Ich denke, es ist eine Frage des Geschmacks; Ich persönlich bezweifle im 'if' im Kontext:'? : 'operator - * abhängig von geraden/ungeraden Länge Median ist entweder Durchschnitt von zwei Elementen oder einer einzigen * oder' if' - * wenn wir gerade Länge haben, ist median ein Durchschnitt sonst ist der einzelne Artikel *. Ich habe festgestellt, dass beide Konstruktionen ziemlich * lesbar * sind. –
Wenn Sie das machen wollen Anzahl der Zahlen dynamisch, können Sie dies tun (verwendet System.Linq
):
public static double Median(IEnumerable<int> numbers)
{
if (numbers == null) throw new ArgumentNullException("numbers");
int[] ordered = numbers.OrderBy(i => i).ToArray();
if (ordered.Length == 0) return double.NaN;
if (ordered.Length % 2 == 0)
{
int half = ordered.Length/2;
return (ordered[half] + ordered[half - 1])/2d;
}
return ordered[ordered.Length/2];
}
Dieser sortiert zunächst das Zahlenfeld mit OrderBy()
und nimmt dann das mittlere Element der Sammlung. Im Falle einer geraden Anzahl von Items wird der Durchschnitt der mittleren 2 Items benötigt. Wenn die Auflistung null oder leer ist, gibt die Methode 0 zurück.
Das sieht gut aus, außer dass es nicht berücksichtigt, wenn es eine gerade Anzahl von Zahlen gibt (Durchschnitt der zwei mittleren Zahlen statt nur ein Element zurückgeben). –
Was ist, wenn 'Zahlen'' null' sind oder keine Gegenstände haben? – NotADeveloper
@NotADeveloper Danke, fügte es hinzu. –
- 1. Wie mache ich einen Abwurfempfänger? [Swift 3]
- 2. Zahlen in Datei lesen und Median C finden
- 3. Wie mache ich einen Optionsschieberegler in HTML5 mit 4 Zuständen?
- 4. Wie mache ich einen Sound in OSX mit Python 3
- 5. PANDAS: Wie pd.read_csv und 7 Ziffern ganze Zahlen in 4 mal 3 ganze Zahlen?
- 6. Wie kann ich den Median und die Standardabweichung eines Bündels von Zahlen in Perl berechnen?
- 7. Finden Sie einen Median parallel
- 8. Median Berechnung in ActionScript 3
- 9. Wie mache ich einen Schlaf in Javascript?
- 10. Wie mache ich einen QVector von Widgets?
- 11. Wie mache ich ein Dreieck aus Zahlen mit Python-Schleifen?
- 12. Mittelwert und Median von zwei Listen
- 13. Median-Methode, die einen höheren Wert zurückgibt Median
- 14. ggplot - mache den Median unsichtbar geom_boxplot
- 15. Wie mache ich einen Piepton in Android?
- 16. Wie mache ich MVC 4 interaktive Suchbox?
- 17. Wie kann ich in Safari 3 und Safari 4 testen?
- 18. Wie mache ich einen grundlegenden Thread in C++
- 19. Wie mache ich einen Webserver mit Erlang
- 20. Fast Median Filter in C++
- 21. Wie mache ich einen Slider wie Javascript?
- 22. Reverse Schätzung 3 Zahlen von Mittelwert und
- 23. Wie mache ich einen JSON von Arrays
- 24. Wie mache ich einen Bildkonverter?
- 25. Ich mache einen Screenshot mit C \ GTK
- 26. Wie mache ich einen Hyperlink in der C# -Konsolenanwendung?
- 27. Wie mache ich einen Anruf von Nichtaktivität?
- 28. C Konvertieren von 4-stelligen Zahlen in binäre
- 29. Wie man einen Vektor von ganzen Zahlen in aufeinanderfolgende ganze Zahlen in jeder Gruppe in r
- 30. Wie mache ich einen Einkaufskatalog?
Mögliches Duplikat: https://Stackoverflow.com/q/4140719/5779732 –