Problem mit Malloc() :(
-
TEXT
-
tage = (int*) malloc(sizeof(int) *b) ; //speicherplatz reservierung der tage tage = b * 3 ;
Du weist glaube ich nicht was macht... Du reserviert die sizeof(int)*b Speicher und bekommst die Adresse des Speichers in die Variable Tage. Nun multiplizierst du die Anzahl der Belege mit 3 und legst diesen Wert als Speicheradresse fest. Danach weiß keiner mehr wo der angefforderte Speicher einmal war und du gibst ihn auch nicht wieder frei. Die neue Adresse zeigt in irgendeinen Bereich den du bestimmt nicht angefordert hast.
-bullshit gelöscht, Konfusius hat die Aufgabe geblickt-
Aber ich finde die Aufgabe ist scheisse formuliert.
-
ich vermute, daß du die aufgabenstellung falsch verstanden hast. dein programm muß warscheinlich pro beleg erfragen, wie viele fehltage der beleg belegt. anders würde ein int-array ja uch gar keinen sinn machen! eine fehltage-zahl pro beleg.
dein programm müsste so aussehen:
anzahl der belege erfragen ein int-array allozieren, das so viele felder hat wie belege benötigt werden für jeden beleg anzahl der belegten fehltage erfragen eingabe in int-array schreiben für jeden beleg zahl der im int-array für den beleg gespeicherten fehltage ausgeben anzahl auf eine summen-variable aufaddieren summe ausgeben
zu deinem programm:
die anweisung tage=b3;* ist murks. aber das weißt du warscheinlich selber ;). du kannst auf die einzelnen felder deines int-arrays mit tage[i]=irgendwas zugreifen.
in den printf()-anweisungen am ende fehlen in der argumentliste die variablen, deren wert ausgegeben weden soll. also printf("Tage,%i",tage) etc
-
Ne das Sternchen ist richtig das ist eine Multiplikation
-
habs auch schon wegeditiert
aber lies mal deinen eigenen post nochmal. dein hirn scheint nach einem durchgedaddelten tag auch nicht mehr ganz frisch zu sein
-
Konfusius schrieb:
aber lies mal deinen eigenen post nochmal. dein hirn scheint nach einem durchgedaddelten tag auch nicht mehr ganz frisch zu sein
Stimmt es jetzt? PS: Ich hab nicht gedaddelt, sondern unsere AIT Hausaufgaben gemacht, die sind immer so primitiv dass ich nicht mehr klar denken kann