Hilfe bei der Klausur für C-Programmierung

07/05/2018 15:47 BloodHunter2011#1
Hey Leute,

habe hier eine Aufgabe die ich in der letzten Klausur nicht beantworten konnte und punkte verloren habe.

Meine Frage wäre was muss man bei t[i] schreiben und wieso nutzt man dieses malloc und das anschließende "sizeof(float)" ?

Vielen Dank schon im Vorraus :)
07/05/2018 16:35 warfley#2
1. zu malloc:
malloc(x) alloziiert (mindestens) x byte. Ein float ist aber 4 byte (sizeof(float)) groß, daher musst du um x floats zu alloziieren x*sizeof(float) dem malloc übergeben (ist sicherer als x*4 da der compiler immer genau weiß wie groß der typ ist).

2. bei dem t[i] sollst du dem float das Quadrat von i zuweisen, also:
Code:
for (int i=1; i<=x; ++i)
  t[i-1] = i * i; // i-1 da arrays bei 0 anfangen, die Quadrate laut Aufgabenstellung aber mit 1
07/05/2018 18:03 BloodHunter2011#3
Danke für die schnelle und hilfreiche Antwort :)
07/05/2018 19:14 BloodHunter2011#4
Quote:
Originally Posted by warfley View Post
1. zu malloc:
malloc(x) alloziiert (mindestens) x byte. Ein float ist aber 4 byte (sizeof(float)) groß, daher musst du um x floats zu alloziieren x*sizeof(float) dem malloc übergeben (ist sicherer als x*4 da der compiler immer genau weiß wie groß der typ ist).

2. bei dem t[i] sollst du dem float das Quadrat von i zuweisen, also:
Code:
for (int i=1; i<=x; ++i)
  t[i-1] = i * i; // i-1 da arrays bei 0 anfangen, die Quadrate laut Aufgabenstellung aber mit 1
Könnte ich vielleicht noch bei der Aufgabe 6b) Hilfe kriegen?

Da konnte ich ja auch leider nur 1 Punkt abzweigen.
07/05/2018 19:27 Mikesch01#5
Du hattest es fast.

Code:
struct point myPoint;
myPoint.x = 10;
myPoint.y = 20;
myPoint.z = 30;
[Only registered and activated users can see links. Click Here To Register...]