swallav
Terugkerende gebruiker
- Lid geworden
- 19 jul 2007
- Berichten
- 1.482
Ik probeer de lengte van een vector te bereken. Dit gaat redelijk. Echter, de eerste in een array geeft per definitie een verkeerde waarde aan. Kan iemand mij vertellen hoe dat komt en eventueel verholpen kan worden?
Hier mijn code
Hier mijn code
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void)
{
int dim, num;
int g, h, i, j, k, l, m;
double **w, *leng, *len;
printf("Vul de breedte en vervolgens de hoogte van de matrix in. \n");
scanf ("%d %d", &dim, &num); /* read N and M */
w = calloc (num, sizeof (double *)); /* allocate array of M pointers */
for (i = 0; i < num; i++)
{
w[i] = calloc (dim, sizeof (double));
/* allocate space for N dimensional vector */
for (j = 0; j < dim; j++)
{
scanf ("%le", &w[i][j]);
/* read the vector */
}
}
len = calloc (num, sizeof (double *));
leng = calloc (num, sizeof (double *));
/*Zorg dat je geheugen beschikbaar hebt*/
for(h = 0; h < num; h++)
{
for(g = 0; g < dim; g++)
{
len[h] += pow((*w[h]++), 2);
leng[h] = pow(len[h], 0.5);
}
}
printf("vector lengtes hier:\n\n");
for(k = 0; k < num; k++)
{
printf("%lf\n", leng[k]);
}
return 0;
}