Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-12-2008, 10:37   #1
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
[C] matrice inversa 4x4 con algoritmo di Gauss

ragazzi sto veramente uscendo pazzo......
voglio implementare l'algoritmo di gauss per calcolare la matrice inversa di una 4x4, ma non so più che pesci prendere visto che i risultati non sono mai corretti...il listato al post 3(Ogni consiglio è ben accetto)
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 08-12-2008 alle 11:21.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 10:45   #2
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
edit
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 08-12-2008 alle 11:21.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 11:20   #3
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
nuova release

Codice:
#include <math.h>
#include <stdio.h>
void inversa(float (*a)[4]) {

	int i;
	int j;
        int z;
	float b[4][4] = {{ 1, 0, 0, 0},{ 0, 1, 0, 0},{ 0, 0, 1, 0},{ 0, 0, 0, 1}};
	float c;
        float d;
        for (z=0;z<3;z++) {
	for (i=z;i<3;i++) {
		if (a[i+1][z]=0){
                     continue;}
else
             {    c = -(a[i+1][z] / a[i][z]);
                for (j=z;j<3;j++) {
                a[i + 1][j] = (c * (a[i][j])) + a[i + 1][j];
		b[i + 1][j] = (c * (b[i][j])) + b[i + 1][j];
}
}	
}
}
  for (z=0;z<3;z++) {
	for (i=(3-z);i>0;i--) {
if(a[i-1][3-z]=0){
continue; }

else
{
d = -(a[i-1][(3-z)]) / a[i][3-z];
	               for (j=(3-z);j>0;j--)
 {		
                        a[i-1][j]=(d*(a[i][j]))+a[i-1][j];
			b[i-1][j]=(d*(b[i][j]))+b[i-1][j];
}
}	
}
}
	for (i = 0; i < 4; i++) {
		for (j = 0; j < 4; j++) {
			b[i][j] = b[i][j] / a[i][i];
			a[i][j] = a[i][j] / a[i][i];
		}
	}
	for (i = 0; i <4; i++) {
		printf("\n");
		for (j = 0; j <4; j++) {
			printf("%f" , a[i][j]);
		}
	}
	for (i = 0; i < 4; i++) {
		printf("\n");
		for (j = 0; j < 4; j++) {
                      printf("%f", b[i][j]);
			}
		}
}


int main(void) {
		float mat[4][4];
		printf("Scrivi gli elementi della matrice:\n");
		int i;
		int j;
            for (i = 0;i < 4; i++) {
			for (j = 0; j < 4 ;j ++) {
				scanf("%f", &mat[i][j]);
                     }
		}
inversa(mat);
return (0);
}
ecco l'uscita:
Codice:
1.000000nannannan
nannannannan
nannannannan
nannannan1.000000
1.000000nannannan
nannannannan
nannannannan
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 09-12-2008 alle 00:03.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 13:58   #4
altairz
Member
 
Iscritto dal: May 2004
Messaggi: 84
Codice:
...
if (a[i+1][z] = 0)
...
if (a[i-1][3-z] = 0)
...
credo che un bug sia in questo punto
altairz è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 21:36   #5
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da altairz Guarda i messaggi
Codice:
...
if (a[i+1][z] = 0)
...
if (a[i-1][3-z] = 0)
...
credo che un bug sia in questo punto
alla fine quel pezzo l'ho tolto modificando la condizione sul coefficiente.....ecco il listato della parte modificata
Codice:
       for (z=0;z<3;z++) {
	for (i=z;i<3;i++) {
   c = -(a[i+1][z] / a[z][z]);
                for (j=z;j<4;j++) {
                 
                a[i + 1][j] = c*a[i][j] + a[i + 1][j];
		
                b[i + 1][j] =c*b[i][j]+ b[i + 1][j];
}
}	
}
  for (z=0;z<3;z++) {
	for (i=(3-z);i>0;i--){
                   d = -(a[i-1][(3-z)]) / a[3-z][3-z];
	               for (j=(3-z);j> -1;j--){
                        a[i-1][j]=d*a[i][j]+a[i-1][j];
                        b[i-1][j]=d*b[i][j]+b[i-1][j];
}	
}
}

questa è l'uscita
Codice:
1.000000-1.0000002.000000-1.000000
0.0000001.000000-1.0000001.000000
0.0000000.0000001.000000-1.000000
0.0000000.0000000.0000001.000000
con ingresso
Codice:
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 09-12-2008 alle 00:05.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 23:16   #6
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
mi sono accorto di un piccolo errore nell'implementazione dell'algoritmo e ho nuovamente modificato il programma

Codice:
      for (z=0;z<3;z++) {
	for (i=z;i<3;i++) {
   c = -(a[i+1][z] / a[z][z]);
                for (j=z;j<4;j++) {
                a[i][j]= c * a[i][j]; 
                a[i + 1][j] = a[i][j] + a[i + 1][j];
		b[i][j]= c * b[i][j];
                b[i + 1][j] =b[i][j]+ b[i + 1][j];
}}}
  for (z=0;z<3;z++) {
	for (i=(3-z);i>0;i--){
                   d = -(a[i-1][(3-z)]) / a[3-z][3-z];
	               for (j=(3-z);j> -1;j--)
 {		        a[i][j]= d*a[i][j];
                        a[i-1][j]=a[i][j]+a[i-1][j];
			b[i][j]= d*b[i][j];
                        b[i-1][j]=b[i][j]+b[i-1][j];

}}}
con lo stesso ingresso l'uscita è
Codice:
nannannannan
nannannannan
nannannannan
nannannannan
nannannannan
nannannannan
nannannannan
nannannannan

come mai?eppure dovrebbe essere giusto
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 09-12-2008 alle 00:02.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 23:48   #7
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Perchè non usi il tag [code] o [php] ? Renderebbe la lettura del codice molto più leggibile.
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 00:01   #8
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da UnknownSoldier Guarda i messaggi
Perchè non usi il tag [code] o [php] ? Renderebbe la lettura del codice molto più leggibile.
ok metto subito a posto. grazie per la segnalazione
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 13:57   #9
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Se ottieni NaN e' perche' vai a fare le divisioni per zero.
In effetti hai un paio di divisioni che andrebbero controllate. Cosa devi fare, secondo l'algoritmo, nel caso che il divisore sia zero?
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 14:23   #10
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Se ottieni NaN e' perche' vai a fare le divisioni per zero.
In effetti hai un paio di divisioni che andrebbero controllate. Cosa devi fare, secondo l'algoritmo, nel caso che il divisore sia zero?
in teoria non dovrebbe mai verificarsi una divisione per 0... anche perchè il divisore è sempre il pivot che per definizione è non nullo
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 14:28   #11
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Questo vuol dire che puoi aggiungere una assert al tuo codice per essere veramente sicuro di questo
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 14:32   #12
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Se ottieni NaN e' perche' vai a fare le divisioni per zero.
Se non sbaglio dividendo per 0 un numero a virgola mobile (IEEE 754) il risultato è +/-∞, non NaN.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 14:52   #13
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Questo vuol dire che puoi aggiungere una assert al tuo codice per essere veramente sicuro di questo
che cos'è una assert?
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 15:15   #14
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
si scrive assert(condizione che vuoi verificare) e se la condizione non e' verificata, si arrabbia e fa terminare il programma.

Hai provato a far girare il debugger?
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 15:16   #15
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Se non sbaglio dividendo per 0 un numero a virgola mobile (IEEE 754) il risultato è +/-∞, non NaN.
Penso che tu abbia ragione, ma non sono sicuro al 100%.
Spero che questo esercizio me lo chiarisca
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 15:29   #16
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da sottovento Guarda i messaggi
si scrive assert(condizione che vuoi verificare) e se la condizione non e' verificata, si arrabbia e fa terminare il programma.

Hai provato a far girare il debugger?
ho fatto una nuov revision del codice

Codice:
		}     
        for (z=0;z<3;z++) {
	for (i=z;i<3;i++) {
  if (z=0){ c = -(a[i+1][z] / a[z][z]);}   
else {c=-(a[i+1][z] / p[z][z]);}
                for (j=z;j<4;j++) {
               p[i][j]=c*a[i][j]; 
               a[i + 1][j] =p[i][j] + a[i + 1][j];
	       q[i][j]=c*b[i][j];
               b[i + 1][j] =q[i][j] + b[i + 1][j];
}
}	
}
  for (z=0;z<3;z++) {
	for (i=(3-z);i>0;i--){
                if(z=0) {   d = -(a[i-1][(3-z)]) / a[3-z][3-z];}
else{d = -(a[i-1][(3-z)]) / p[3-z][3-z];}
	               for (j=(3-z);j> -1;j--){
                       p[i][j]=d*a[i][j];
                       a[i-1][j]=p[i][j]+a[i-1][j];
                       q[i][j]=d*b[i][j];
                       b[i-1][j]=q[i][j]+b[i-1][j];
}	
}
}
	for (i = 0; i < 4; i++) {
		for (j = 0; j < 4; j++) {
			b[i][j] = b[i][j] / a[i][i];
			a[i][j] = a[i][j] / a[i][i];
		}
	}
il mio problema era quello di aggiornare i valori delle matrice a , moltiplicandola per i vari coefficienti di volta in volta e quindi ho inserito l'if
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 09-12-2008 alle 15:33.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 15:49   #17
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quell'if non va bene (z=0 e' un assegnamento).

Ho fatto un giro di debugger fermandomi immediatamente al primo ciclo (il risultato e' gia' incorretto li', per cui non ho proseguito).

Dopo la prima iterazione del ciclo
Codice:
        for (i=z;i<3;i++)
        {
il valore di a[0][0] e' zero! Questo e' il pivot per il ciclo successivo (in cui z e' ancora uguale a zero). Quindi vai poi a dividere per questo valore.

Wikipedia suggerisce una cosa cosi':

Codice:
i := 1
j := 1
while (i ≤ m and j ≤ n) do
  Find pivot in column j, starting in row i:
  maxi := i
  for k := i+1 to m do
    if abs(A[k,j]) > abs(A[maxi,j]) then
      maxi := k
    end if
  end for
  if A[maxi,j] ≠ 0 then
    swap rows i and maxi, but do not change the value of i
    Now A[i,j] will contain the old value of A[maxi,j].
    divide each entry in row i by A[i,j]
    Now A[i,j] will have the value 1.
    for u := i+1 to m do
      subtract A[u,j] * row i from row u
      Now A[u,j] will be 0, since A[u,j] - A[i,j] * A[u,j] = A[u,j] - 1 * A[u,j] = 0.
    end for
    i := i + 1
  end if
  j := j + 1
end while
__________________
In God we trust; all others bring data

Ultima modifica di sottovento : 09-12-2008 alle 15:53.
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 16:04   #18
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Quell'if non va bene (z=0 e' un assegnamento).

Ho fatto un giro di debugger fermandomi immediatamente al primo ciclo (il risultato e' gia' incorretto li', per cui non ho proseguito).

Dopo la prima iterazione del ciclo
Codice:
        for (i=z;i<3;i++)
        {
il valore di a[0][0] e' zero! Questo e' il pivot per il ciclo successivo (in cui z e' ancora uguale a zero). Quindi vai poi a dividere per questo valore.

Wikipedia suggerisce una cosa cosi':

Codice:
i := 1
j := 1
while (i ≤ m and j ≤ n) do
  Find pivot in column j, starting in row i:
  maxi := i
  for k := i+1 to m do
    if abs(A[k,j]) > abs(A[maxi,j]) then
      maxi := k
    end if
  end for
  if A[maxi,j] ≠ 0 then
    swap rows i and maxi, but do not change the value of i
    Now A[i,j] will contain the old value of A[maxi,j].
    divide each entry in row i by A[i,j]
    Now A[i,j] will have the value 1.
    for u := i+1 to m do
      subtract A[u,j] * row i from row u
      Now A[u,j] will be 0, since A[u,j] - A[i,j] * A[u,j] = A[u,j] - 1 * A[u,j] = 0.
    end for
    i := i + 1
  end if
  j := j + 1
end while
scusami forse non mi sono spiegato,a[i][j] è una matrice che viene definita dall'utente nel main.Visto che poi dovrà essere collegata ad un programma più grande dove la matrice a difficilmente avrà termini nulli.
la matrice di prova che io uso è
1111
0111
0011
0001
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II
Thunderx è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 16:24   #19
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Thunderx Guarda i messaggi
scusami forse non mi sono spiegato,a[i][j] è una matrice che viene definita dall'utente nel main.Visto che poi dovrà essere collegata ad un programma più grande dove la matrice a difficilmente avrà termini nulli.
la matrice di prova che io uso è
1111
0111
0011
0001
Si, l'avevo capito ed ho usato la stessa matrice per fare un po' di debug. Ma poi, ciclo dopo ciclo, vai a modificare quella matrice e vai a scegliere un valore che e' uguale a zero per effettuare la divisione.

Ho completamente scordato questo algoritmo, per cui perdona la mia domanda: sei sicuro che devi modificare la matrice "on-the-fly" (i.e. durante l'esecuzione del ciclo) e non alla fine?
Normalmente questo tipo di algoritmi va a preparare una seconda matrice on i risultati. Questa matrice poi diventa quella di partenza per il ciclo successivo...

Inoltre, per quel poco che ho letto su wikipedia, sembra che sia normale il fatto che il tuo elemento sia azzerato, proprio per come e' fatto l'algoritmo. Forse e' semplicemente la scelta del pivot che va cambiata.

Spero ti sia di aiuto....
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2008, 17:04   #20
Thunderx
Senior Member
 
L'Avatar di Thunderx
 
Iscritto dal: Jan 2003
Città: Frosinone
Messaggi: 2607
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Si, l'avevo capito ed ho usato la stessa matrice per fare un po' di debug. Ma poi, ciclo dopo ciclo, vai a modificare quella matrice e vai a scegliere un valore che e' uguale a zero per effettuare la divisione.

Ho completamente scordato questo algoritmo, per cui perdona la mia domanda: sei sicuro che devi modificare la matrice "on-the-fly" (i.e. durante l'esecuzione del ciclo) e non alla fine?
Normalmente questo tipo di algoritmi va a preparare una seconda matrice on i risultati. Questa matrice poi diventa quella di partenza per il ciclo successivo...

Inoltre, per quel poco che ho letto su wikipedia, sembra che sia normale il fatto che il tuo elemento sia azzerato, proprio per come e' fatto l'algoritmo. Forse e' semplicemente la scelta del pivot che va cambiata.

Spero ti sia di aiuto....
preso da wikipedia

L'algoritmo di Gauss trasforma una qualsiasi matrice in una matrice a scalini tramite mosse di Gauss. Funziona nel modo seguente:

1. Se la prima riga ha il primo elemento nullo, scambiala con una riga che ha il primo elemento non nullo. Se tutte le righe hanno il primo elemento nullo, vai al punto 3.
2. Per ogni riga Ai con primo elemento non nullo, eccetto la prima (i > 1), moltiplica la prima riga per un coefficiente scelto in maniera tale che la somma tra la prima riga e Ai abbia il primo elemento nullo (quindi coefficiente − Ai1 / A11). Sostituisci Ai con la somma appena ricavata.
3. Adesso sulla prima colonna tutte le cifre, eccetto forse la prima, sono nulle. A questo punto ritorna al punto 1 considerando la sottomatrice che ottieni cancellando la prima riga e la prima colonna. Le successive mosse di Gauss (scambi, moltiplicazioni e somme) andranno comunque fatte su tutta la matrice.

quindi come vedi l'algoritmo modifica il coefficiente c per ogni incremento di i e naturalmente anche di z.
adesso con l'ultimo codice scritto non ho più problemi di nan, ma solodi 3 valori su 16 sballatidovuti al fatto che la riga z-esima (la prima di ogni sottomatrice dell'algoritmo) non viene mai moltiplicata per c ma rimane statica
Scusa ma perchè il ciclo if di prima non andrebbe bene?come dovrebbe essere?
ti volevo ringraziare in ogni caso, perchè a occhio dalle tue parti dovrebbe essere parecchio tardi
__________________
Phenom II 920 Asus m4a79 deluxe, Sapphire hd4850 1 GB,4 GB G.SKILL PI 1200 Mhz ,HD Maxtor 250gb Sata II

Ultima modifica di Thunderx : 09-12-2008 alle 17:12.
Thunderx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
Obbligati ad acquistare una scheda madre...
GTA VI su PC? La data non c'è, ma...
Monopattini elettrici, a un anno dal dec...
Tesla Robotaxi, autista di sicurezza si ...
Samsung Galaxy S26: svelate le combinazi...
Microsoft Ignite: arriva Edge for Busine...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Gigabyte X870E Aorus Elite X3D, una moth...
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: 20:35.


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