..Sto studiando per l'esame di programmazione in linguaggio c.
Praticamente il programma non mi da errori durante la compilazione, ma si blocca nel momento in cui provo ad eseguirlo. Non riesco a capire qual'è il problema.
#include <stdio.h>
double inner_product(const double *a, const double *b, int n);
int main(void)
{
double a[5] = {1.5, 2, 2.3, 5, 7};
double b[5] = {2, 3.4, 7, 0.3, 5};
double x;
x = inner_product(&a[], &b[], 5);
printf("Il risultato e': %lf ", x);
return 0;
}
double inner_product(const double *a, const double *b, int n)
{
double sum = 0;
for(a = &a[0]; a < &a[n]; a++)
for(b = &b[0]; b < &b[n]: b++)
sum += (*a)*(*b);
return sum;
}
L'errore potrebbe stare nella scrittura degli argomenti della chiamata a funziona? Non sono proprio sicura che per richiamare i puntatori a vettore a,b bisogna scrivere &a[], &b[]... però non saprei che modifica apportare.
Spero davvero che qualcuno mi aiuti a sciogliere questo dilemma.
Grazie mille in anticipo.