warum geht das nicht???
-
also ich will die arrays summe1 mit summe2 multiplizieren und die ergebnisse in
array erg schreiben das sollte so wie unten eigentlich gehen denke ich?:)aber es funzt net...ich bekomme wenn ich das array abrufe eine große minuszahl...ich dachte sowas bekommt man wenn man in einen falschen werteberreich liegt aber das ist in meinem fall ja nicht... normalerweiße mußte in erg[0] der wert 151 sein.int erg[5]; int summe1[4][5]={{3,15,10,30,14}, {16,12,12,24,8}, {8,5,15,20,20 }, {10,8,14,10,25}}; int summe2[5]={3,2,1,2,1}; int k; int a; for(k=0;k<4;k++){ for(a=0;a<5;a++){ erg[k]=erg[k]+summe1[k][a]*summe2[a]; } }
-
Du initialisierst erg[5] nicht, bevor Du das array verwendest; da steht also irgendein Schrott drin. Aus diesem Grund kommt auch das falsche Ergebnis raus, denn Du addierst Deine Zahlen zu diesem Schrott dazu.
Einerg[5] = {0,0,0,0,0}
sollte Abhilfe schaffen.
-
1. Wähle bessere Titel
2. Einmal reicht: http://www.c-plusplus.net/forum/viewtopic.php?t=64886...lass dich einfach verschieben das nächste Mal.
-
seit wann kann man mit int arrays erstellen
? Noch nicht gehört oder gesehen, geht nur bei char die eindimisionaler und mehrdimsionaler Array..
> C für Dummies , kaufen, lesen, proggen für um die 25,99€
-
Spielgrips schrieb:
seit wann kann man mit int arrays erstellen
? Noch nicht gehört oder gesehen, geht nur bei char die eindimisionaler und mehrdimsionaler Array..
> C für Dummies , kaufen, lesen, proggen für um die 25,99€
Du kannst Arrays von jedem Typ erstellen
mfg
v R
-
aha!gut zu wissen...ich dachte das das array erg[5] schon initialsiert.ist...hmm!ich dachte der compiler wär so schlau und wüßte das dieses array 5 elemente hat....Danke an euch.hab schon wieder was gelernt...
-
Der Compiler weiss, dass das Array 5 Elemente hat. Das teilst Du ihm ja mit int erg[5] mit. Das Problem liegt jedoch darin, dass der Compiler keinen "Default"-Wert (z.B. die Zahl 0) oder ähnliches in den Speicher, den Du angefordert hast, schreibt.
-
Asgard schrieb:
Du initialisierst erg[5] nicht, bevor Du das array verwendest; da steht also irgendein Schrott drin. Aus diesem Grund kommt auch das falsche Ergebnis raus, denn Du addierst Deine Zahlen zu diesem Schrott dazu.
Einerg[5] = {0,0,0,0,0}
sollte Abhilfe schaffen.
Geht auch einfach nur mit {0} (Spezialfall). Dabei werden automatisch alle Elemente mit 0 initialisiert.