Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Programm für Mittelwert und Varianz eines Vektors

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 <
030
09.01.2004, 13:31 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wenn du bist zum linker kommst, heisst das das dein quellcode zumindest syntaktisch ok ist...
Wahrscheinlich habt ihr keine objektdateien von den files erstellt die nicht die main-routine enthalten...
was genau mahnt er denn an?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
031
09.01.2004, 14:02 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


da sind ja überalle üble dinger und casts drin...
also das hier alles zu erläutern und fehler rauszukicken dauert ewig

Ich habe mir mal erlaubt das schnell zu ändern...

probier mal so...
was noch verbessert werden müsste ist die einleseroutine damit auch noch fehler abgefangen werden

C++:
#include <iostream>
#include "PointIo.h"
#include "MeanVarCalculation.h"
int main(){
int n;
double *values;
readDataPoints("data.dat",values,n);
std::cout<< "Der Mittelwert des Vektors betraegt : "<<CalculateMean(values,n)<<"."<<std::endl;
std::cout<< "Die Varianz des Vektors betraegt : "<<CalculateVar(values,n)<< "."<<std::endl;
delete []values;
return 0;
}




C++:
#ifndef POINT_IO_IHA_H_
#define POINT_IO_IHA_H_
#include <fstream>
int readDataPoints (char* filename,double* &values,int &n);
#endif




C++:
#include "PointIo.h"

int readDataPoints (char* filename,double* &values,int&n){
    int i;
    std::ifstream NeueDatei(filename);
    if (NeueDatei.fail())return -1;
    NeueDatei>>n;
    values=new double[n];
    for (i=0;i<n;++i)NeueDatei>>values[i];
    NeueDatei.close();
return 0;    
};




C++:
#ifndef MEANVARCALCULATION_IHA_H_
#define MEANVARCALCULATION_IHA_H_

double CalculateMean(double* values,int n);
double CalculateVar(double* values,int n);

#endif




C++:
#include "MeanVarCalculation.h"

double CalculateMean(double* values,int n){
    double rv=0;
    for(int i=0;i<n;++i)rv+=values[ i ];
    return rv/n;
}

double CalculateVar(double* values,int n){
    double rv=0,mean=CalculateMean(values,n);
    for(int i=0;i<n;++i)rv+=(values[ i ]-mean)*(values[ i ]-mean);
    return rv/--n;
}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
032
09.01.2004, 14:06 Uhr
~Gizzzy
Gast


Beim Kompilieren zeigt er das hier an :


C++:
--------------------Konfiguration: MeanVarCalculation - Win32 Debug--------------------
Kompilierung läuft...
MeanVarCalculation.cpp
Linker-Vorgang läuft...
Main.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int __cdecl CalculateVar(int)" (?CalculateVar@@YAHH@Z)
Main.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int __cdecl CalculateMean(int)" (?CalculateMean@@YAHH@Z)
Debug/MeanVarCalculation.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

MeanVarCalculation.exe - 3 Fehler, 0 Warnung(en)




@pablo inwiefern [ b ] fehler behoben ? nur die leerzeichen ?
@windalf ich probiers aus thx

Dieser Post wurde am 09.01.2004 um 14:23 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
033
09.01.2004, 14:13 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du musst aus deiner deiner MeanVarCalculation.cpp auch eine objektdatei erzeugen...
wahrscheinlich wird das automatisch generiert wenn du die datei deinem projekt hinzufügst...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
034
09.01.2004, 14:17 Uhr
typecast
aka loddab
(Operator)


@Gizzzy: Zu den Fehlern: Wenn du feld[ b ] ohne die Leerzeichen vor und nach dem b schreibst, dann wird beim parsen des Textes angenommen, dass du einen Text fett darstellen willst. Deshalb haben wir den Code "korrigiert". Liegt also nicht an dir, sondern am Board.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
035
09.01.2004, 15:26 Uhr
~Gizzzy
Gast


yeeeeeeeeeeeeehaaa



C++:
--------------------Konfiguration: MeanVarCalculation - Win32 Debug--------------------
Kompilierung läuft...
MeanVarCalculation.cpp
Linker-Vorgang läuft...

MeanVarCalculation.exe - 0 Fehler, 0 Warnung(en)





Wir danken euch für eure mithilfe und schnellen antworten
jetzt läuft alles

Schönes Wochenende
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
036
09.01.2004, 17:58 Uhr
(un)wissender
Niveauwart


@Windalf
Mal was zum Codestyle: Ich weiß ja, das du templates nicht so gerne magst und lieber c-Style nimmst, als C++-Style, aber was du nie und nimmer tun solltest sind (wenn es sich irgendwie vermeiden lässt), ist sowas wie: ich deklariere einen Pointer, dann kommt irgendwas, dann lösche ich den Pointer.
Da sind Memoryleaks oder undefiniert Löschoperation schon vorprogrammiert.
Bei den kleinen Beispielen sieht man es noch recht schnell, aber bei großen...

Also Allokation und Löschung sollten transparent verwendet werden.
Wenn ich in einer Funktion Speicher benötige, dann sollte ich ihn auch dort wieder freigeben (OO: Konstruktor <-> Destruktor).
Sonst ist da erstmal zwischen Allokation und Löschung kein funktionaler Zusammenhang.
Oder wenn die Allokation komplexer ist eine Methode my_alloc() schreiben, dann aber auch eine Methode my_free().
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
037
09.01.2004, 18:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@(un)wissender
Ja Papa...
ne hast recht... Ich bin ja schon dabei mich zu bessern....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
038
09.01.2004, 18:12 Uhr
(un)wissender
Niveauwart




--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
039
09.01.2004, 18:13 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: