Neuling braucht Ratschläge/Hilfe
-
Diandranewby schrieb:
ah ich habs raus, diese Funktion muss in meiner mainfunktion als lokale Variable auftauchen und sie darf keine globale Variable sein ^^ warum ist das so?
Ganz sicher muss das nicht so sein. Vielleicht bringst du einen Funktionsaufruf mit der Deklaration einer Variablen durcheinander. Ich weiß zwar nicht warum, weil die wirklich vollkommen anders aussehen, aber das ist die einzige Erklärung.
int g; // <- Deklaration einer globalen Variablen srand(5); // Funktionsaufruf, hier nicht erlaubt int main() { int x; // <-- Deklaration einer lokalen Variablen srand(5); // <-- Funktionsaufruf }
-
Diandranewby schrieb:
return anfang+(int)(r*rand()/(RAND_MAX+1,0));Statt dem Komma muß da ein Punkt hin (sonst teilst du immer durch 0 - Stichwort: Sequenzoperator!), also
return anfang+(int)(r*rand()/(RAND_MAX+1.0));
-
Diandranewby schrieb:
hier nochmal die Funktionen die ich dafür benutze
int irand(int anfang, int ende) { double r = ende-anfang+1; return anfang+(int)(r*rand()/(RAND_MAX+1,0)); } int vector_in(int *vecname,int anfang, int ende) { for(int i=0;i<anzahl;i++) { *(vecname+i) = irand(anfang, ende); } return 0; }vec_inhat gar keinen Parameteranzahl- d.h. Du hantierst da doch irgendwo mit globalen Variablen rum. Das ist nicht gut.
Was hast Du Dir denn bei dem Rückgabewert (0) gedacht? Ist ein Rückgabewert, der immer 0 ist nicht überflüssig wie ein Loch im Knie?