Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    16

    Sommare gli elementi di una matrice

    Ciao A tutti, e da circa 2 giorni che cerco di risolvere un problema.
    Trattasi che devo costruire un algoritmo che mi fa la somma degli elementi di una matrice, ma senza utiizzare funzioni avanzate, in sostanza posso utilizzare solo i cicli For If, While ecc ecc e le operazioni fondamentali + - * /.
    Non posso ad esempio utilizzare la funzione Sum o qualcosa che mi agevoli.
    Non so come impostare la procedura giusta (io utilizzo il VBA).
    Avete qualche idea a riguardo???

    Thanks

    Emanuele

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Manca il linguaggio. Leggi il Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Imposta una variabile totalizzatore a zero, scrivi un ciclo for esterno ed uno interno, e somma al totalizzatore l'elemento (i,j) della matrice ...

    Cosa non sai fare?

    P.S. Usi VBA con Access, Excel, Word ... altro?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    16
    Cosa non so fare??
    Ti faccio un esempio:
    allora ho una matrice A (3x3) del tipo
    1 0 1
    0 1 0
    1 1 0

    Devo costruire un ciclo con VBA ed utilizzando EXCEL, che mi dà il risultato della somma degli elementi in matrice, nel caso specifico Sum(A) = 5.
    Il fatto è che non riesco a virtualizzare il ciclo for che mi restituisce la somma degli elementi
    all'interno della matrice. (ribadisco senza utilizzare altre funzioni che non siano le operazioni fondamentali)

    vorrei dire che se so che le dimensioni sono a = 3 e b = 3 dove A ha dimensione (a,b), allora dovrei scrivere qualcosa del genere:
    Private B as Integer
    Dim A()
    ReDim A(a,b)
    For i = 1 to b
    For j = 1 to a
    B = Sum (A(i,j))

    Chiaramente non so impostare il ciclo al fine di farmi fare la somma.
    Vorrei capire inoltre meglio il concetto di ciclo esterno.


    Grazie comunque
    Emanuele

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Basterebbe

    codice:
    S = 0
    For i = 1 to b
     For j = 1 to a
         S = S + A(i,j)
     Next 
    Next
    per avere in S il risultato

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 © 2025 vBulletin Solutions, Inc. All rights reserved.