csharp - komme nicht weiter...

  • Guten Tag,
    ich bin gerade mit einer Aufgabe am verzweifeln. Ich komme bei Aufgabe b) nicht weiter.



    Mein Code von Aufgabe a):

    Code
    private void button1_Click(object sender, EventArgs e)
            {
                double[] zahlenwert = {2.0, 12.8, 8.0, 15.5, 3.0, 12.0, 20.0};
    
    
                for(int i = 0; i < zahlenwert.Length; i++)
                {
                    textBox1.AppendText(zahlenwert[i] + "\t");
                }          
            }

    Jemand Ahnung wie ich Aufgabe b) lösen kann?


    Vielen Dank im Voraus

  • Das klingt nach einer interessanten Aufgabe :)


    Also ich hätte eine Idee wie man es machen kann, ob das die Beste ist, sei mal dahin gestellt.


    Du kannst einfach alle Werte aus dem Array summieren.


    C
    double sum=0;
    for(int i = 0; i < zahlenwert.Length; i++)
    {
        sum += zahlenwert[i];
    }


    So danach berechnest du den Mittelwert:


    C
    double mid = sum/zahlenwert.Length;

    So und jetzt prüfst du einfach, welches Element am nähsten dran ist:



    C
    double diff=Math.abs(mid-zahlenwert[0]),erg=zahlenwert[0];
    for(int i = 1; i < zahlenwert.Length; i++)
    {
        if(Math.abs(zahlenwert[i]-mid) < diff) erg = zahlenwert[i];
    }  
    //In erg steht nun dein Zahlenwert der dem Median am nähsten kommt

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Wieso nimmst du denn in der diff minus des ersten Wertes sprich

    Damit ich direkt einen sinnvollen Initialisierungswert habe.


    Sonst könnte mein Wert ja das Ergebnis verfälschen und so ist man sicher, dass der Median auch in dem Array ist und nicht der Startwert.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ah.. okay, also wäre es dann im Prinzip egal welchen Wert ich aus dem Array zur Initialisierung wähle?

    Naja, theoretisch, aber der Wert aus dem 0ten Index bietet sich ja an, weil du dann die Schleife einfach ab 1 starten lassen kannst.


    Alle anderen Werte bieten sich nicht so an, könntest natürlich auch den letzten Wert nehmen und die Schleife rückwärts laufen lassen... :D

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mal ne Frage, würde das so gehen oder zählt dies schon als Array Sortierung?
    (bitte Namens gebungen nicht beachten)


    Bin gerade auch am lernen bzw. üben mfg. Mogly1

    Einmal editiert, zuletzt von Mogly1 ()