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

    [C++] Capire Traccia Esercizio e Atraversamento Cornici Matrice

    Ciao a tutti, vi segnalo una traccia di un esercizio che sinceramente non ho capito cosa richiede. Parla di cornici della matrici e poi invece sembra che parli di fare la somma di tutti gli elementi della matrice. Voi come la interpretate e nel caso esiste qualche codice già scritto per scorrere una matrice per cornici, ho provato a scrivere qualcosa su carta ma è davvero scocciante gestire i 4 indici che ho utilizzato e far fare ricorsivamente la somma di tutti gli elementi di ogni cornice. Nel caso non vi sia provo a riportare sul pc il codice scritto su carta e vedo se va e nel caso non va lo posto qui, anche se va se può interessare.

    codice:
    Sia M una matrice quadrata di valori binari. Si definiscono come cornici 
    concentriche di M gli insiemi di elementi delle cornici concentriche della matrice 
    stessa, così come indicato in figura. Si supponga che il valore di ogni cornice sia 
    dato dalla somma decimale di tutti gli elementi che la compongono.  
    Si scriva una procedura ricorsiva che dia in output il valore ALFA uguale alla 
    somma dei valori di tutte cornici concentriche di M.


    Grazie a tutti.
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  2. #2
    Nessuno mi può dare una mano, sto provando a scrivere un codice che mi scorra ma matrice per cornici ma sta diventando un incubo.
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  3. #3
    Ho scritto questo codice e l'ho testato e mi sembra funzionare bene, fatemi sapere nel caso voi individuiate qualche problem:

    codice:
    void sxcornici(int m[][100],int k,int j,int i,int &somma){
         
         
         //K numero di righe, J numero di colonne, i contatore cornice
         //Esco se le cornici sono finite
         if((k+1)%2==0 && i>=(k+1)/2) return;
         else if((k+1)%2!=0 && i>=(((k+1)/2))) { somma+=m[i][i]; return;}
         
         for(int z=i;z<=j-i;z++) {somma+=m[i][z]+m[k-i][z]; 
         //cout<<"Somma 1: "<<somma<<" J: "<<j<<" K: "<<k<<" I: "<<i<<endl; system("pause");
         }
         for(int z=i+1;z<=k-i-1;z++) {somma+=m[z][i]+m[z][j-i];  
         //cout<<"Somma 2: "<<somma<<" J: "<<j<<" K: "<<k<<" I: "<<i<<endl; system("pause");
         }
         
         //cout<<"Somma Cornice: "<<somma<<endl;
         //system("pause");
         
         sxcornici(m,k,j,i+=1,somma);
         
         }
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

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.