Ragazzi non riesco a passare il vettore multidimensionale a una funzione! non capisco dov'è l'errore! mi dareste una mano!??
l'errore segnalato è questo:
codice:
In function `int main()':
cannot convert `float (*)[((unsigned int)((int)col))]' to `float (*)[10]' for argument `1' to `float esame1(float (*)[10], int, float)'
grazie in anticipo!
codice:
/*
Description: IL PROGRAMMA ACQUISISCE UN VETTORE BIDIMENSIONALE E NE EFFETTUA
LA RICERCA DI UN TARGET IN UNA DETERMINATA COLONNA PASSANDO IL VETTORE ALLA
FUNZIONE esame1.
*/
#include <stdio.h>
#include <stdlib.h>
#define maxrig 10
#define maxcol 10
int esame1 (float tabella[maxrig][maxcol], int i, float target);
int main ()
{
int rig, col, r, c, i, var;
float tab[rig][col], target;
printf ("\nInserisci dimenzione RIGHE: ");
scanf ("%d", &rig);
printf ("\nInserisci dimenzione COLONNE: ");
scanf ("%d", &col);
for (r=0; r<rig; ++r)
{
for (c=0; c<col; ++c)
{
printf ("\n[%d][%d]: ", r+1, c+1);
scanf ("%f", &tab[r][c]);
}
printf ("\n\n");
}
for (r=0; r<rig; ++r)
{
for (c=0; c<col; ++c)
{
printf ("[%.2f]", tab[r][c]);
printf (" ");
}
printf ("\n\n");
}
printf ("\n\nInserisci il valore da ricercare: ");
scanf ("%f", &target);
printf ("\n\nInserisci il quale COLONNA lo vuoi ricercare: ");
scanf ("%d", &i);
var = esame1 (tab, i, target);
printf ("\n\n\nIndice: %d", var);
printf ("\n\n----\n\n");
system ("pause");
}
int esame1 (float tabella[maxrig][maxcol], int i, float target)
{
int riga=0;
for (riga=0; riga<maxrig; ++riga)
{
if (target==tabella[riga][i])
riga=riga;
else riga=-1;
}
return (riga);
}