come si risolve il seguente problema?
29. Dato un array bidimensionale di reali effetture la sommatoria degli elementi appartenenti alla diagonale principale e delle diagonali parallele a questa.
Datemi una mano, proprio non ci riesco.
come si risolve il seguente problema?
29. Dato un array bidimensionale di reali effetture la sommatoria degli elementi appartenenti alla diagonale principale e delle diagonali parallele a questa.
Datemi una mano, proprio non ci riesco.
Qui non si fanno compiti..
Leggiti il regolamento prima di postare.. Hai infranto 2 regole in un solo post.. male male..
Se la matrice è quadrata
For I:=1 to N do
For J:=1 to N do
If I=J then somma:=somma+matrice[I,J]
Per le alter diagonali devi solo spostare gli indici
chiedo scusa la regola mi è sfuggita, ho penato si trattasse di un normale algoritmo
Raga', scusatemi, ovviamente è da tempo che non ci vengo qui, non mi ricordavo.
Se infrango ancora regole, fatemelo presente. Per come sto adesso, ho letto il regolamento senza capirci niente.
Niente, ho provato a fare il problema, ma mi sono bloccato allorchè dovessi implementare la serie di somme delle "diagonali parallele". Ho messo direttamente l'esercizio perchè pensavo che fosse l modo più semplice
Come? (se non potete, non rispondete)Per le alter diagonali devi solo spostare gli indici
Devi sempre indicare il linguaggio, anche se per te e' scontato ...
Prova a mostrare un tuo abbozzo di codice e se ne parla ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Dunque, non so se sia utile postare il codice.
In effetti, non l'ho nemmeno commentato.
Cerco di descrivere a parole.
Diciamo che ho fatto in questo modo.
Ho fatto una subroutine generica per fare una somma, e poi ho innestato un doppio ciclo do, righe e colonne della matrice, e una condizione "IF" per effettuare la somma dei numeri della matrice aventi indici uguali.
Fino a lì, come dicevo, l'ho fatto.
L'idea di creare una generica subroutine per la somma, mi è venuta da tentativi precedenti, talmente confusi che nemmeno li ricordo.
Ho provato, nel ciclo do che ho descritto precedentemente, a inserirne un altro, che andasse dalla seconda riga in poi: come è possibile intuire, questo non mi ha portato da nessuna parte.
Così ho lasciato perdere, almeno per il momento, e ho pensato che fosse meglio rivolgermi ad altri. Il problema credo sia relativo solo a come spostare gli indici e inserire tale spostamento in un ciclo (cosa che penso sia necessaria).
P.S.- Ho fatto un altro esercizio- del quale poi parlerò in un'altra discussione, magari, ma non per problemi di algoritmi- in cui mi veniva chiesto di fare il prodotto di matrici.
Io ero arrivato a fare ben sei cicli, mentre trovando poi l'algoritmo di base sul libro, ho visto che ne erano necessari solo tre.
Per farvi capire come per quanto mi sforzi, non riesco ancora bene a ragionare sui cicli, che vedo ancora come una cosa un po' anti-intuitiva. Non mi sono ancora ben sciolto (e non so se mai potrò riuscirci )
Il concetto di ciclo e' una delle cose piu' intuitive che esistono ...
Per il resto, scusa ma procedere cosi' non porta da nessuna parte ...
Quando "descrivi" il codice, la descrizione puo' essere corretta ma la scrittura del codice corrispondente completamente sbagliata ... quindi la visione del codice che poi verra' eseguito è necessaria per darti una mano.
Ultimo consiglio ... non fare mille domande e non andare in mille direzioni. Fai una sola domanda e quando ottieni una risposta che comprendi bene, passa alla seconda ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Quindi che dovrei fare adesso?
Ps- non mi fa cambiare il titolo della discussione (volevo metterci [FORTRAN]). Penso che debba provvedere l'admin.
Forse non sono stato chiaro ...Originariamente inviato da turtle87
Quindi che dovrei fare adesso?
Se programmi in FORTRAN e' necessario che mostri il codice che scrivi e provi in relazione ad uno specifico problema ...
Dai un'occhiata anche al regolamento ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
sì, anche se in questo caso io non so proprio da dove cominciare (per quella parte di codice che dovrebbe prevedere il calcolo delle "diagonali parallele").
Chiedo (ovviamente senza fare alcuna polemica): il regolamento di questo forum in questi casi dice sostanzialmente che non bisogna proprio postare?
Se sì, mi scuso.
Oppure prevede anche questi casi, in cui uno pensa, pensa, anche se su carta (sull'ambiente di lavoro, in questo caso) non riesce proprio a mettere niente? Io mi sono fermato a quando diceva di calcolare la sommatoria degli elementi della diagonale principale, poi non sono potuto più andare oltre.
In questo caso postare quanto fatto (almeno in questo momento), è inutile, a mio avviso. Non so se mi sono spiegato...