Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] errore nel passaggio di un vettore bidimensionale

    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);
    
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C] errore nel passaggio di un vettore bidimensionale

    In questa riga

    codice:
        float tab[rig][col], target;
    non puoi indicare rig e col (che non sono costanti e comunque con un valore non definito).

    Forse volevi scrivere

    codice:
        float tab[maxrig][maxcol], target;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.