Vinnaren i pepparkakshustävlingen!
2016-11-11, 23:50
  #1
Medlem
passains avatar
Hej,

Precis som rubriken lyder så önskar jag få hjälp med C# och Windows Forms.

Jag vill skriva ett program som lagrar sju heltal i en array och beräknar och presenterar medelvärdet. Man ska själv skriva in talen i en textBox.

Exempel

Skriv in dina 5 heltal separerade med mellanslag:
1 2 3 4 5 6 7

[Knapp: Räkna ut medelvärde]

Presentera medelvärde.

Jag har testat många gånger men jag får inte till det.

Jag har gjort en kodrad som ser ut såhär:

Kod:
string[] minaNummer = textBoxNummer.Text.Split(new char[] { ' ' });

Vet dock inte om det är så jag bör göra men jag vet ju att den raden fungerar eftersom jag sedan kan hämta data från min array genom att använda:

Kod:
minaNummer[0], [1], [2]
och så vidare.

Tack på förhand
Citera
2016-11-12, 00:30
  #2
Medlem
Alkyonioss avatar
Citat:
Ursprungligen postat av passain
Hej,

Precis som rubriken lyder så önskar jag få hjälp med C# och Windows Forms.

Jag vill skriva ett program som lagrar sju heltal i en array och beräknar och presenterar medelvärdet. Man ska själv skriva in talen i en textBox.

Exempel

Skriv in dina 5 heltal separerade med mellanslag:
1 2 3 4 5 6 7

[Knapp: Räkna ut medelvärde]

Presentera medelvärde.

Jag har testat många gånger men jag får inte till det.

Jag har gjort en kodrad som ser ut såhär:

Kod:
string[] minaNummer = textBoxNummer.Text.Split(new char[] { ' ' });

Vet dock inte om det är så jag bör göra men jag vet ju att den raden fungerar eftersom jag sedan kan hämta data från min array genom att använda:

Kod:
minaNummer[0], [1], [2]
och så vidare.

Tack på förhand

Stämmer. Sedan får du summera alla talen i en for-loop och till sist dividera det talet med antal tal i arrayen
Citera
2016-11-12, 11:05
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av passain
Hej,

Precis som rubriken lyder så önskar jag få hjälp med C# och Windows Forms.

Jag vill skriva ett program som lagrar sju heltal i en array och beräknar och presenterar medelvärdet. Man ska själv skriva in talen i en textBox.

Exempel

Skriv in dina 5 heltal separerade med mellanslag:
1 2 3 4 5 6 7

[Knapp: Räkna ut medelvärde]

Presentera medelvärde.

Jag har testat många gånger men jag får inte till det.

Jag har gjort en kodrad som ser ut såhär:

Kod:
string[] minaNummer = textBoxNummer.Text.Split(new char[] { ' ' });

Vet dock inte om det är så jag bör göra men jag vet ju att den raden fungerar eftersom jag sedan kan hämta data från min array genom att använda:

Kod:
minaNummer[0], [1], [2]
och så vidare.

Tack på förhand
Så vari ligger problemet?
Citera
2016-11-14, 14:18
  #4
Medlem
Tjo.

1. Behöver ej new char[].

Kod:
	string txt = "1 2 3";
	string[] minaNummer = txt.Split(' ');

2. Det du får efter split är string/char. För att kunna summera måste du konvertera till int.

Kod:
            string txt = "1 2 3";
            var stringArray = txt.Split(' ');
            var intArray = Array.ConvertAll(stringArray, int.Parse);
            var sum = intArray.Sum();

Anm:
1. "int.Parse" är en funktion, men metoden tar lambda, i andra ord inga ().
2. Sum() är linq om du vill göra så. Annars kör med loop.
3. Har du input-fel kommer exception på köpet. Rec. att använda string.Trim() på indata så slipper du mellanslag före/efter.
__________________
Senast redigerad av wot34man 2016-11-14 kl. 14:20. Anledning: trim
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback