Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-12-2009, 15:59   #1
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
[JAVA] Aiuto codice!!!

Salve gente!!!
Dovrei fare questo codice:

Scrivere un metodo che restituisce true se e solo sè la matrice M di interi è triangolare inferiore!!!

Grazie!!!
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2009, 18:09   #2
blackgin
Member
 
L'Avatar di blackgin
 
Iscritto dal: Oct 2007
Messaggi: 250
Quote:
Originariamente inviato da Squall_90 Guarda i messaggi
Salve gente!!!
Dovrei fare questo codice:

Scrivere un metodo che restituisce true se e solo sè la matrice M di interi è triangolare inferiore!!!

Grazie!!!
Non è un buon esercizio farsi scrivere un codice da altri. Il mio consiglio è di provarci e postare quello che hai scritto per capire cosa manca/sbagli..
blackgin è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2009, 23:12   #3
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
Quote:
Originariamente inviato da Squall_90 Guarda i messaggi
Salve gente!!!
Dovrei fare questo codice:

Scrivere un metodo che restituisce true se e solo sè la matrice M di interi è triangolare inferiore!!!

Grazie!!!
dipende molto da come ti viene passata al metodo che devi scrivere....
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2009, 23:22   #4
:.Blizzard.:
Senior Member
 
L'Avatar di :.Blizzard.:
 
Iscritto dal: Jan 2006
Città: Perugia - San Benedetto del Tronto
Messaggi: 348
Quote:
Originariamente inviato da blackgin Guarda i messaggi
Non è un buon esercizio farsi scrivere un codice da altri. Il mio consiglio è di provarci e postare quello che hai scritto per capire cosa manca/sbagli..
Quoto.

Comunque, una matrice triangolare inferiore è del tipo:



Dovrai quindi lavorare , a meno che tu non definisca una tua classe matrice, con un array bidimensionale. E sicuramente dovrai muoverti in maniera correttra con dei cicli for. Però ora il codice devi scriverlo tu.
:.Blizzard.: è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2009, 23:54   #5
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
8 righe di codice essendo verbosi (ed escluso segnature, solo il corpo del metodo)(non essendo verbosi bastano 5)
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2009, 00:10   #6
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
Quote:
Originariamente inviato da morskott Guarda i messaggi
8 righe di codice essendo verbosi (ed escluso segnature, solo il corpo del metodo)(non essendo verbosi bastano 5)
io la butto lì ....fatta all'1 di notte con il notepad

Codice:
public boolean isATriangleMatrix(int[][] mtx) {
	for(int i=0;i<mtx.length;i++) {
		for(int e=0;e<i;e++) {
			if(mtx[i][e]!=0)
				return false;
		}
	}
	return true;
}
non l'ho testata ...
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------

Ultima modifica di Frank1962 : 06-12-2009 alle 00:15.
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2009, 12:54   #7
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da Frank1962 Guarda i messaggi
io la butto lì ....fatta all'1 di notte con il notepad

Codice:
public boolean isATriangleMatrix(int[][] mtx) {
	for(int i=0;i<mtx.length;i++) {
		for(int e=0;e<i;e++) {
			if(mtx[i][e]!=0)
				return false;
		}
	}
	return true;
}
non l'ho testata ...
Chiedeva la triangolare inferiore, non la superiore, ma l'unica differenza tra la tua (triangolare superiore) e la triangolare inferiore è l'inizializzazione dell''indice e controllo di uscita sul secondo for, in pratica abbiamo detto la soluzione però!!!! (se la doveva trovare da solo)
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2009, 20:53   #8
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
Quote:
Originariamente inviato da Frank1962 Guarda i messaggi
io la butto lì ....fatta all'1 di notte con il notepad

Codice:
public boolean isATriangleMatrix(int[][] mtx) {
	for(int i=0;i<mtx.length;i++) {
		for(int e=0;e<i;e++) {
			if(mtx[i][e]!=0)
				return false;
		}
	}
	return true;
}
non l'ho testata ...
Ho sbagliato, volevo dire triangolare superiore!!!

Comunque avete ragione, domani provo a farlo io e lo posto, cosi mi correggete

Questo qui purtroppo non lo capisco, perchè ci sono delle cose che ancora non ho fatto (sono praticamente all'inizio)
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2009, 22:30   #9
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
Quote:
Originariamente inviato da Squall_90 Guarda i messaggi
Ho sbagliato, volevo dire triangolare superiore!!!

Comunque avete ragione, domani provo a farlo io e lo posto, cosi mi correggete

Questo qui purtroppo non lo capisco, perchè ci sono delle cose che ancora non ho fatto (sono praticamente all'inizio)
tò guarda ...quei pochi casi in cui sbagliando si trova quel che si voleva
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 01:11   #10
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da Squall_90 Guarda i messaggi
Ho sbagliato, volevo dire triangolare superiore!!!

Comunque avete ragione, domani provo a farlo io e lo posto, cosi mi correggete

Questo qui purtroppo non lo capisco, perchè ci sono delle cose che ancora non ho fatto (sono praticamente all'inizio)
scusa la poca diplomazia, ma se non capisci quel codice lì (due for e un if) che codice vorresti scrivere?

Andando nello specifico, cosa non capisci?
Ricorda che prima di tutto c'è l'algoritmo, e poi dopo la sua traduzione in codice. L'algoritmo dietro quel codice l'hai capito? L'algoritmo che vuoi applicare l'hai bene in mente?

Ragiona su quel che vuoi, sapere se una matrice è triangolare superiore (o inferiore, è speculare). Che vuol dire che una matrice è triangolare superiore (inferiore)? Che tutti gli elementi a sinistra (destra) della diagonale sono zero, quindi quando non lo è? quando uno di quegli elementi è diverso da zero.
Adesso scomponi il problema, ragiona in termini di righe. Una matrice è composta da n righe, ogni riga la partizioniamo in 3 insiemi [a_0,a_k-1],[a_k],[a_k+1,a_n] dove k è l'indice della diagonale. Fatto questo nelle matrici triangolari superiori (inferiori) gli elementi della partizione [a_0,a_k-1] ([a_k+1,a_n]) devono essere tutti zeri, detta in un altro modo appena trovi un elemento diverso da zero sai per certo che la matrice NON è triangolare superiore (inferiore). Questo vale per ogni riga della matrice, il punto è adesso trovare l'indice dell'elemento diagonale. Alla prima riga l'elemento diagonale è il primo, nella seconda il secondo etc. etc. Come vedi è sempre l'elemento (i,i). Quindi l'algoritmo è:
Codice:
per ogni riga della matrice
    per ogni elemento della partizione [a_0,a_k-1] ([a_k+1,a_n])
        se l'elemento è diverso da zero
            la matrice NON è triangolare superiore (inferiore), quindi ritorna falso
ritorna vero
Passiamo adesso alla trascrizione di questo algoritmo in codice Java, prima cosa rappresentazione dell'input. La matrice è di interi, in Java diventa un array di array, notazione doppie parentesi quadre dopo la dichiarazione del tipo di variabile
Codice:
int[][] matrix
Secondo passo, scorrere le righe della matrice, soluzione, ciclo for che ha sintassi
Codice:
for(dichiarazione e inizializzazione variabile d'indice;condizione di permanenza nel ciclo;incremento variabile)
che in codice reale diventa (per sapere il numero di righe di una variabile array di array basta accedere alla proprietà "length")
Codice:
for (int i=0;i<matrix.length;i++)
.

Terzo passo, scorrere la partizione desiderata, gli zeri devono stare alla sinistra, quindi inizializiamo l'indice a 0 e lo facciamo finire subito prima dell'elemento diagonale che è l'i-esimo
Codice:
for(int j=0;j<i;j++)
(per l'inferiore devo partire un elemento dopo quello diagonale e finire alla fine della riga
Codice:
for(int j=i+1;j<matrix[i].length;j++)
)

Quarto passo, se quell'elemento non è zero uscire
Codice:
if (matrix[i][j]!=0) return false;
Ultimo passo, se tutti i controlli hanno avuto esito negativo la matrice è triangolare superiore (inferiore), quindi ritorniamo vero
Codice:
return true
Tutto chiaro?
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB

Ultima modifica di morskott : 07-12-2009 alle 12:40.
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 01:31   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da morskott Guarda i messaggi
Ricorda che prima di tutto c'è l'algoritmo, e poi dopo la sua traduzione in codice. L'algoritmo dietro quel codice l'hai capito? L'algoritmo che vuoi applicare l'hai bene in mente?
Forse, essendo agli inzi, è bene che non lo tenga solo in mente, ma che provi a fissarlo su carta.
Nottambulo anche te?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:08   #12
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
Quote:
Originariamente inviato da morskott Guarda i messaggi
scusa la poca diplomazia, ma se non capisci quel codice lì (due for e un if) che codice vorresti scrivere?

Andando nello specifico, cosa non capisci?
Ricorda che prima di tutto c'è l'algoritmo, e poi dopo la sua traduzione in codice. L'algoritmo dietro quel codice l'hai capito? L'algoritmo che vuoi applicare l'hai bene in mente?

Ragiona su quel che vuoi, sapere se una matrice è triangolare superiore (o inferiore, è speculare). Che vuol dire che una matrice è triangolare superiore (inferiore)? Che tutti gli elementi a sinistra (destra) della diagonale sono zero, quindi quando non lo è? quando uno di quegli elementi è diverso da zero.
Adesso scomponi il problema, ragiona in termini di righe. Una matrice è composta da n righe, queste righe le partizioniamo in 3 insiemi [a_0,a_k-1],[a_k],[a_k+1,a_n] dove k è l'indice della diagonale. Fatto questo nelle matrici triangolari superiori (inferiori) gli elementi della partizione [a_0,a_k-1] ([a_k+1,a_n]) devono essere tutti zeri, detta in un altro modo appena trovi un elemento diverso da zero sai per certo che la matrice NON è triangolare superiore (inferiore). Questo vale per ogni riga della matrice, il punto è adesso trovare l'indice dell'elemento diagonale. Alla prima riga l'elemento diagonale è il primo, nella seconda il secondo etc. etc. Come vedi è sempre l'elemento (i,i). Quindi l'algoritmo è:
Codice:
per ogni riga della matrice
    per ogni elemento della partizione [a_0,a_k-1] ([a_k+1,a_n])
        se l'elemento è diverso da zero
            la matrice NON è triangolare superiore (inferiore), quindi ritorna falso
ritorna vero
Passiamo adesso alla trascrizione di questo algoritmo in codice Java, prima cosa rappresentazione dell'input. La matrice è di interi, in Java diventa un array di array, notazione doppie parentesi quadre dopo la dichiarazione del tipo di variabile
Codice:
int[][] matrix
Secondo passo, scorrere le righe della matrice, soluzione, ciclo for che ha sintassi
Codice:
for(dichiarazione e inizializzazione variabile d'indice;condizione di permanenza nel ciclo;incremento variabile)
che in codice reale diventa (per sapere il numero di righe di una variabile array di array basta accedere alla proprietà "length")
Codice:
for (int i=0;i<matrix.length;i++)
.

Terzo passo, scorrere la partizione desiderata, gli zeri devono stare alla sinistra, quindi inizializiamo l'indice a 0 e lo facciamo finire subito prima dell'elemento diagonale che è l'i-esimo
Codice:
for(int j=0;j<i;j++)
(per l'inferiore devo partire un elemento dopo quello diagonale e finire alla fine della riga
Codice:
for(int j=i+1;j<matrix[i].length;j++)
)

Quarto passo, se quell'elemento non è zero uscire
Codice:
if (matrix[i][j]!=0) return false;
Ultimo passo, se tutti i controlli hanno avuto esito negativo la matrice è triangolare superiore (inferiore), quindi ritorniamo vero
Codice:
return true
Tutto chiaro?
Chiarissimo, grazie mille!!!

Comunque di quel codice non capivo i isATriangleMatrix e mtx (si possono scrivere in un altro modo???), dato che non li avevo mai scritto...I for e l'if si, ci mancherebbe...
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:27   #13
Allure
Senior Member
 
L'Avatar di Allure
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 1242
Quote:
Originariamente inviato da Squall_90 Guarda i messaggi
Chiarissimo, grazie mille!!!

Comunque di quel codice non capivo i isATriangleMatrix e mtx (si possono scrivere in un altro modo???), dato che non li avevo mai scritto...I for e l'if si, ci mancherebbe...
Sono semplicemente il nome del metodo e il nome del parametro che gli passi. Potevi benissimo dichiararla come: public boolean pincoPallino (int[][] matrice)
__________________
Concertina: "I know the truth is in between the 1st and 40th drink"
Allure è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:31   #14
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
Quote:
Originariamente inviato da Allure Guarda i messaggi
Sono semplicemente il nome del metodo e il nome del parametro che gli passi. Potevi benissimo dichiararla come: public boolean pincoPallino (int[][] matrice)
Perfetto, allora avevo capito!!!

E se invece di public boolean usassi public static void è un errore???
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:36   #15
Allure
Senior Member
 
L'Avatar di Allure
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 1242
Quote:
Originariamente inviato da Squall_90 Guarda i messaggi
Perfetto, allora avevo capito!!!

E se invece di public boolean usassi public static void è un errore???
Si. Void significa che il metodo non restituisce nulla, nel caso da te richiesto è necessario un boolean che restituisce true/false.
__________________
Concertina: "I know the truth is in between the 1st and 40th drink"
Allure è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:39   #16
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
Quote:
Originariamente inviato da Allure Guarda i messaggi
Si. Void significa che il metodo non restituisce nulla, nel caso da te richiesto è necessario un boolean che restituisce true/false.
Ho capito, grazie
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:54   #17
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
Quindi alla fine verrebbe cosi:

Codice:
import fiji.io.*;

public class Matrici
{
public boolean MatriceTriangolareSup (int[][] m) 
{
	for (int i=0; i<m.length; i++) 
        {
		for (int j=0; j<i; j++) 
                {
			if (m[i][j] != 0)
				return false;
		}
	}
	return true;
}
}
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 11:58   #18
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
esatto
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 12:00   #19
Squall_90
Bannato
 
Iscritto dal: Sep 2009
Città: Soverato (Catanzaro)
Messaggi: 510
Ottimo, grazie a tutti per avermi aiutato!!!
Squall_90 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2009, 12:34   #20
Allure
Senior Member
 
L'Avatar di Allure
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 1242
Per convenzione i nomi dei metodi iniziano con lettera minuscola, quindi sarebbe consigliabile matriceTriangolareSup. Ovviamente è solo una convenzione e come hai scritto te non pregiudica minimamente la corretta esecuzione del programma
__________________
Concertina: "I know the truth is in between the 1st and 40th drink"
Allure è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
NASA: lanciata la missione Artemis II ve...
Intel riacquista la Fab 34 in Irlanda, u...
SpaceX ha lanciato la missione Transport...
Occhiali smart in affitto: la nuova stra...
L'aeroplano supersonico ''silenzioso'' N...
Il primo chip a 2 nm di MediaTek sarà a...
Blue Origin lancerà il satellite ...
Roscosmos torna a lanciare capsule verso...
La connettività satellitare anche sui di...
Astronauta italiano sul suolo lunare gra...
Senza formazione ai dipendenti l'IA non ...
Google rende disponibile l'opzione per i...
Oracle licenzia migliaia di persone con ...
Il semaforo bianco sta arrivando: cos'è,...
FRITZ!Repeater 2700 disponibile su Amazo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v