(c)problem...kann mir jemand helfen?
-
ich soll 2 summen arrays anhand einer schleife zusammen zählen...
ich habe ein array summe1[4][5] und ein array summe2[5] und ein array für das ergebniss erg[4] meine lösung sieht so aus...int erg[5];
int summe1[4][5];
int summe2[5];
int k;
int a;for(k=0;k<h;k++){
for(a=0;a<5;a++){
erg[k]=erg[k]+summe1[k][a]*summe[a];
}
}
die einzelnen ergebnisse sollten in erg[5] abgelegt werden...so das ich sie mit printf("%d",erg[0],erg[1]);usw..einzeln abrufen kann...das geht aber so nicht ich bekomme jedesmal nur ein großes ergebniss...hoffe es kann mir jemand helfen...
-
Du hast deine Arrays ja auch nicht initialisiert, d. h. es steht etwas drin, was wahrscheinlich (höchst wahrscheinlich
) nicht beabsichtigt ist. Dann verstehe ich auch nicht, wozu int summe1[4][5]; zweidimensional ist?! Was willst du denn machen? Addieren, Multiplizieren? Und schließe deinen Code in Codetages ein, dann sieht das nachher so aus:
int erg[5]; int summe1[4][5]; int summe2[5]; int k; int a; for(k=0;k<h;k++){ for(a=0;a<5;a++){ erg[k]=erg[k]+summe1[k][a]*summe[a]; } }
Bunter is immer schöner
-
Danke erstmal für deine antwort...da ist sind 2 tipfehler drin...
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]; } }
-
ciro schrieb:
ich bekomme wenn ich das array abrufe eine große minuszahl.
wenn die zahl so um minus achthundertfünfzig millionen ist, dann benutzt du den microsoftcompiler im debugmodus und hat ne variable nicht initialisiert (kein witz, die zahl ist ne fehlersuch-hilfe).
jo, hier haste die ganzen zahlen von erg nicht initialisiert. da hatten die von alleine so um -850000000 drinne. durchs aufsummieren erg[k]=erg[k]+... hat sich nicht viel geändert.