Esercizio matrice:media dell' intorno di un elemento !!
Salve a tutti!!!ho bisogno del vostro aiuto!!sono alle prese con questo maledetto esercizo di fondamenti di informaticaaaaa, "la mia materia preferita"..e non riesco a trovare una strada da seguire per svolgerlo!!!Qualcuno può darmi una mano???una direttiva,un input???perfavore..
Scrivere un metodo FILTROMEDIA che riceve in input una matrice di interi M e restituisce una matrice N di interi delle stesse dimensioni costruita come segue: l'elemento in posizione (i,j) dI N viene calcolato come la media degli elementi che costituiscono l'elemento (i,j) della matrice M. per esempio l'elemento N[0][0] sarà dato dalla media degli elementi che fanno da contorno all'elemento M[0][0] e dunque ==> N[0][0]=(M[0][1]+M[1][1]+M[1][0])/3
Spero di essere stato chiaro;)!!!

Scrivere un metodo FILTROMEDIA che riceve in input una matrice di interi M e restituisce una matrice N di interi delle stesse dimensioni costruita come segue: l'elemento in posizione (i,j) dI N viene calcolato come la media degli elementi che costituiscono l'elemento (i,j) della matrice M. per esempio l'elemento N[0][0] sarà dato dalla media degli elementi che fanno da contorno all'elemento M[0][0] e dunque ==> N[0][0]=(M[0][1]+M[1][1]+M[1][0])/3
100 100 48 48 215 100 56 56 M= 100 48 215 56 215 215 56 56 138 104 72 53 90 110 84 85 N= 159 146 80 88 121 127 204 109 N[0][0]=(100+100+215)/3=138 N[1][1]=(100+48+215+56+48+100+100+215)/8=110
Spero di essere stato chiaro;)!!!
Risposte
ma qualcuno mi aiuta????

Si capisce dal contesto ma dovresti fare un po’ più attenzione perché, per esempio, il significato di “costituiscono l'elemento (i,j)” non è tra i più chiari.
In generale, basta scorrere tutti gli elementi della matrice, contare gli elementi contigui e calcolare la media. In alternativa, se vuoi evitare le varie condizioni, puoi anche calcolarti interno, bordi e vertici in ‘cicli’ diversi. In che linguaggio devi scriverlo? A cosa ti riferisci con la domanda “una direttiva, un input?”?
[edit] Attenzione! Il regolamento prevede di dover aspettare almeno 24 ore prima di richiamare l'attenzione sulla tua discussione. Facendolo rischi ‘sanzioni’ da parte dei moderatori.
In generale, basta scorrere tutti gli elementi della matrice, contare gli elementi contigui e calcolare la media. In alternativa, se vuoi evitare le varie condizioni, puoi anche calcolarti interno, bordi e vertici in ‘cicli’ diversi. In che linguaggio devi scriverlo? A cosa ti riferisci con la domanda “una direttiva, un input?”?
[edit] Attenzione! Il regolamento prevede di dover aspettare almeno 24 ore prima di richiamare l'attenzione sulla tua discussione. Facendolo rischi ‘sanzioni’ da parte dei moderatori.
L'idea principale è quella di fare due cicli, uno per le righe e l'altro per le colonne. Le righe dovranno andare da max(0, i-1) a min(NUMERO_RIGHE-1, i+1) mentre le colonne da max(0, j-1) a min(NUMERO_COLONNE, j+1). Dopodiché dovrai avere un contatore che conta il numero di elementi considerati nei due cicli (ricordati che devi anche escludere il valore in posizione (i,j)) e un accumulatore per calcolare la somma. Al di fuori del ciclo dovrai quindi dividere la somma per il numero di elementi e scriverlo nella nuova matrice.
Grazie mille apatriarca disponibilissimo come sempre!!!!
devo scriverlo in linguaggio java..per input intendo un idea per svolgere il programma..

In che linguaggio devi scriverlo? A cosa ti riferisci con la domanda “una direttiva, un input?”?
devo scriverlo in linguaggio java..per input intendo un idea per svolgere il programma..
Scusa apatriarca ma cosa intenti per max e min.. devo scandire due volte la matrice???intendi questo??==>
??????
i=indice di riga j=indice di colonna primo ciclo: for (int i=0;i<m.length;i++) for (int j=0;j<m[0].length;j++) secondo ciclo: for (int i=m.length-1;i>0;i--) for (int j=m[0].length;j>0;j--)
??????
No, in tutto ci saranno 4 cicli annidati. Devi eseguire quei due cicli per ogni elemento della prima matrice. max e min hanno l'usuale significato matematica (il massimo e il minimo tra quei due valori).
ok grazie;)!!ma ci rinuncio..spero che non capiti un esercizio del genere all esame!!!xkè mi alzo e mi ritiro!!!
troppo complicato!!!(ovviamente parlo per me!!!)
troppo complicato!!!(ovviamente parlo per me!!!)
Coraggio.. non rinunciare così.. Prova con un esercizio un po' più semplice: la media dell'elemento successivo e precedente nella stessa riga.