Ciao a tutti sono qui per cercare assieme al vostro aiuto di trovare una soluzione a questo problema:
Siano dati due array di tipo 2D, prod_negozio di dimensioni Nx2 e prod_deposito di dimensioni Mx2, entrambi di tipo intero.In questi array sono memorizzati, per ciascuna riga, nella colonna 1 il codice di un prodotto, e nella colonna 2 quanti di quei prodotti sono presenti rispettivamente nel negozio e nel deposito.Le righe di entrambi gli array sono ordinate per codice. Progettare un algoritmo sotto forma di procedure che fornisca come risultato un array 2D totale_prod che sempre rispettando l'ordine dei codici nella seconda colonna indichi quanti prodotti sono disponibili per ciascun tipo di prodotto in totale tra negozio e deposito.
Io l'ho pensato così, il compilatore non mi da nessun'errore ma l'algoritmo non mi da come risultato la matrice finale.
codice:
void esercitazione(int a[10][10],int b[10][10],int c[10][10],int n,int m) {
int i,j,k,cont=0; while((i<n) || (j<m)){
k=0;
if(a[i][k]< b[j][k]){
c[cont][k]=a[i][k];
k++;
c[cont][k]=a[i][k];
cont++;
i++; }
if(a[i][k]>b[j][k]){
c[cont][k]=b[j][k];
k++;
c[cont][k]=b[j][k];
cont++;
j++; }
if(a[i][k]=b[j][k]){
c[cont][k]=a[i][k];
k++;
c[cont][k]=a[i][k]+b[j][k];
cont++; i++;
j++; }
}
if(j<m){
while(j<m){
k=0;
c[cont][k]=b[j][k];
k++;
c[cont][k]=b[j][k];
cont++;
j++; } }
if(i<n){
while(i<n){
k=0;
c[cont][k]=a[i][k];
k++;
c[cont][k]=a[i][k];
cont++;
i++; } }
}