dynamische speicherverwaltung
-
hallo, ich hab da ne frage, ich habe jetzt ein programm erstellt, dass mir einen mittelwert ausrechnen soll, nun meine frage wie stelle ich es an das ich angeben kann am anfang wie viel werte berechnet werden soll sprich dynamisch eben
int *werte; int size, i = 0; printf("Wie viele Werte benötigen Sie : "); scanf("%d", &size); werte = malloc(size*sizeof(int));
ich weiß zwar von einer anderen übung wie man das auf die beine stellt, aber ich kann mir da gerade echt keinen reim drauf machen wie ich mein arry feld von unten so angeben kann das er mich fragt wie viele werte sollen berechnet werden und das er mir dann den mittelwert ausgibt.
#include <stdio.h> float Mittelwert(int N, float xfeld[]) { float summe = 0.0; int i; for(i = 0; i < N; i++) { summe = summe + xfeld[i]; } return (summe / N); } void main(void) { float Wert[10]; int i; for(i = 0; i < 10; i++) { printf("Bitte geben Sie den %d Wert ein:", (i+1)); scanf("%f", &Wert[i]); printf("Wert %f\n", Wert[i]); } printf("Das Ergebnis ist dann %f", Mittelwert(10, Wert)); }
klar wenn ich den Wert selbst mit 10 festlege nimmt er mir 10 werte und rechnet den mittelwert aus, aber wie stelle ich es an das, dass abgefragt wird, wie viele werte er berechnen soll bsp 5 und mir dann den mittelwert ausgibt. Wäre echt nett wenn mir da jemand mal einen rat geben könnte ich sitz schon seid tagen daran
irgendwie stehe ich bei der aufgabe voll auf dem schlauch
-
^^dafür brauchste doch garkein 'malloc'. einfach den aktuellen wert mit dem vorherigen mittelwert verrechnen. hier war doch letztens schon mal so'ne frage.