Salve a tutti
Ho un problema per quanto riguarda un esercizio.
Praticamente devo moltiplicare due vettori utilizzando una funzione principale che chiama due funzioni e cioè leggi_vettore e prodotto_vettore .
Io l'ho fatto in questo modo:
#include <stdio.h>
#include <stdlib.h>
void leggi_vettore(float a[],float b[], int *len)
{
int i,j,n;
printf("Di quanti elementi deve essere il vettore? ");
scanf("%d",&n);
if(n>0 && n<=1000)
{
printf("Inserisci gli elementi del vettore a: \n");
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
}
printf("Inserisci gli elementi del vettore b: \n");
for (j=0; j<n;j++)
{
scanf("%f",&b[j]);
}
}
else printf("Numero di elementi massimo 1000");
}
void prodotto_vettore(float a[],float b[], int *len)
{
int i,j,n;
float prodotto=1;
if (n>0 && n<1000)
{
for(i=0; i<n;i++)
{
for(j=0;j<n;j++)
{
prodotto=a[i]*b[j];
}
}
printf("Il prodotto tra il vettore a e il vettore b e': %f",prodotto);
}
else printf("numero di elementi non previsto\n\n");
}
int main()
{
int i,j,n;
float a[n],b[n];
leggi_vettore(a[n],b[n],&n);
prodotto_vettore(a[n],b[n],&n);
system("pause");
return 0;
}
Innanzitutto sono sicuro di aver sbagliato il prodotto perchè devo sono sicuro di dover creare un vettore c contenente il prodotto di a
*b[j] ma dico sinceramente che non so come fare
e poi mi restituisce questo errore:
[Error] cannot convert 'float' to 'float*' for argument '1' to 'void leggi_vettore(float*, float*, int*)'
in questa riga:
leggi_vettore(a[n],b[n],&n);
Qualcuno può aiutarmi?