Witam!
Zacznę od tego, że to moje pierwsze kroki z VB także proszę nie wieszać od razu na mnie psów jak coś napiszę źle itd...
Piszę program który będzie odczytywał plik tekstowy który sam wskażę, gdzie dane będą zapisane w nowych linijkach np.
1
2
3
i tak do konca ostatniej zapisanej linijki
a następnie program wyliczy średnią arytmetyczną z tych linijek i wyświetli wynik w tekstboxie..
Na chwile obecną mam już wybór pliku i odczytuje te wartości tylko nie wiem jak zrobić pętlę by te wartości zapisywał do jakichś kolejnych zmiennych a później dodał je wszystkie i podzeilił przez ich ilość ( wyliczył średnią arytmetyczną )
Kod:
Private Sub Command1_Click()
Dim oDlg As New Class1
Dim WindowHandle As Long
Dim strPath As String
Dim strExtension As String
Dim w As Double
WindowHandle = oDlg.GetWindowHandle("ThunderDFrame", Me.Caption)
strExtension = "Plik tekstowy(.txt)" & Chr(0) & ".txt"
strPath = Trim(oDlg.OpenDialog(WindowHandle, strExtension, 1, "Otwórz"))
If strPath = "" Then Exit Sub
Set oDlg = Nothing
Dim vTab() As String
OdczytPliku strPath, vTab
End Sub
Kod:
Sub OdczytPliku(strPlik As String, ByRef vTab() As String)
Dim i As Long
i = 0
'Otwieramy plik
Open strPlik For Input As #1
'odczytujemy w pętli dane z pliku
Do While Not EOF(1)
ReDim Preserve vTab(0 To i)
Input #1, vTab(i)
i = i + 1
Loop
Close #1
End Sub
Dalej potrzebuję przetłumaczyć te linijki z C+ do VB i włożyć do programu..
double srednia(double tab[],int wielkosc)
{
double suma=0;
for(int i=0;i<wielkosc;i++)
suma+=tab[i];
suma=suma/wielkosc;
return suma;
}
double sigma2(double tab[], int wielkosc, double srendia)
{
double wynik=0;
double roznica=0;
for(int i=0;i<wielkosc;i++)
{
roznica=(int)srednia-tab[i];
wynik+=pow(roznica,2);
}
wynik=wynik/wielkosc;
return wynik;
}
Czy dobrze to robię? Ktoś może mi pomóc?