Ongelmana on saada laskettua tiedoston keskiarvo. Saan laskettu rivien määrän. Kuinka saan laskettua rivien arvon ja näitä tietoja käyttäen keskiarvon? Vähän merkintä vaikeuksia.
Tarkoitatko että riveillä on lukuja ja niiden keskiarvo pitää laskea? Rivejä luettaessa laitat muuttujaan rivien määrän (aina kun luet rivin, kasvatat muuttujaa yhdellä). Samalla lasket kaikkien rivien summan yhteen ja lopuksi jaat summan rivien määrällä.
Suurinpiirteinen tarkoitin tuota. On yksi sarake missä on 50 riviä numeroita. Yhdellä rivillä on yksi numero. Ongelmana on nimetä muuttujat saada laskemaan summa. Tuon periaatteen tiedän.
Eikös tuo hoidu kolmella muuttujalla? Lue rivi kerrallaan m1:een lisäät m2:een yhden ja sitten m3:een lisäät m1:en arvon. sitten vaan m3/m2.
Star3 kirjoitti:
Ongelmana on nimetä muuttujat saada laskemaan summa
Hmm, en ihan käsittänyt mitä tuolla tarkoitit. Siis itse ajattelin sen näin (jos silmukassa luetaan rivit)
'Alkuun Dim rivi As String Dim rivit As Long Dim ka As Long Dim luku As Long 'Silmukkaan... 'rivi:in on luettu rivin sisältö... luku = luku + Val(rivi) rivit = rivit + 1 'Silmukan jälkeen ka = luku / rivit
Tarvitseeko kaikkien rivien luku olla myöskin erikseen tiedossa keskiarvon lisäksi?
'Alkuun Dim rivi As String Dim rivit As Long Dim ka As Long Dim luvut() As Long 'Silmukkaan rivit = rivit + 1 ReDim Preserve luvut(1 To rivit) luvut(rivit) = Val(rivi) 'Silmukan jälkeen 'Toinen silmukka joka laskee keskiarvon For I = 1 To rivit ka = ka + luvut(I) Next I ka = ka / rivit
En tiedä onko tässä juuri sitä mitä hait, kysymys jäi hiukan epäselväksi...
~jc
Tätä monimutkaisempi koodi tuskin on tarpeen moisen toteuttamiseksi:
Dim luku As Integer, maara As Integer, summa As Integer Open "c:\luvut.txt" For Input As #1 Do Until EOF(1) Input #1, luku maara = maara + 1 summa = summa + luku Loop Close #1 MsgBox "Keskiarvo: " & summa / maara
Homma toimii taas. Kiitoksia paljon avusta! Ongelmanani on näköjään liian monimutkaisesti ajattelu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.