[C] Azzerare riga di un array multidimensionale
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:
Tuttavia, il compilatore mi dà l'errore:"assignement to expression with array type". Come posso fare?
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
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'..
Risolto! Grazie per la considerazione.