Array doet raar

Status
Niet open voor verdere reacties.

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
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;
}
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan