[C] Azzerare riga di un array multidimensionale

fabiett1
Il problema assegnatomi, sostanzialmente, mi chiede di scrivere un programma in C che esegua la seguente funzione: inserito il nome di un prodotto da testiera, presente in una matrice di caratteri NxM contenente altri prodotti, cancellarlo e inserire il numero -2 nella rispettiva locazione del vettore prezzo (il vettore prezzo è un vettore di interi di grandezza N parallelo alla matrice nel quale sono memorizzati i prezzi dei rispettivi prodotti).

Io l'ho svolto in questo modo:
int remove_product(char warehouse[][M],float price[],int n,char old_product[])
{
    int i;

    for(i=0;i<=n;i++)
    {
        if(strcmp(warehouse[i],old_product)==0)
        {
            warehouse[i]='\0';
            price[i]=-2;
            return 1;
        }
    }

    return 0;
}


Tuttavia, il compilatore mi dà l'errore:"assignement to expression with array type". Come posso fare? :?

Risposte
apatriarca
Suppongo che l'errore venga generato dal compilatore e non dal debugger. In particolare, warehouse[ i ] è un vettore di dimensione M di char. Probabilmente volevi scrivere warehouse[ i ][ 0 ] = '\0'..

fabiett1
Risolto! Grazie per la considerazione.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.