Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-12-2002, 15:16   #1
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Aiuto per calloc (...eeeeC++...salute)

Ciao, sto giro devo scrivere un programma per la compilazione dell'agenda di impegni del giorno.
Il programma deve chiedere all'utente il numero di impegni previsti per la giornata.
Dovrà quindi creare dinamicamente un'agenda (un array di Impegni) e chiedere all'utente di riempirla inserendo gli impegni della giornata.

L'avevo inizialmente provato cosi....ma in questo modo mi sono accorto di non aver creato nessun array di impegni...tantomeno dinamicamente....


Codice:
#include <stdlib.h>
#include <stdio.h>

typedef struct {int ore;
                int minuti;} Orario;
typedef struct {Orario time;
                char attivita;} Impegno;

int main()
{
 int i,j=0;
 Impegno impegno;
 printf ("Quanti impegni hai oggi? ");
 scanf ("%d", &i);
 for (j=0; j<i; j++)
  {
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
  }

 system("PAUSE");
 return 0;
}

allora ho pensato di modificarlo così.....

Codice:

#include <stdlib.h>
#include <stdio.h>

typedef struct {int ore;
                int minuti;} Orario;
typedef struct {Orario time;
                char attivita;} Impegno;

int main()
{
 int i,j=0;
 int *p;
 Impegno impegno;
 printf ("Quanti impegni hai oggi? ");
 scanf ("%d", &i);
 p=(Impegno*) calloc (i,sizeof(Impegno));     /*modifica*/
 for (j=0; j<i; j++)
  {
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
   p[j]= ....... /*impegno?*/
  }

 system("PAUSE");
 return 0;
}

dove ho messo ...... è perche non so come fare, volevo creare dinamicamente un array con calloc in modo da memorizzare su ogni blocco dell'array un impegno.
Suggerimenti?

è poi possibile memorizzare per ogni cella dell'array una variabile struttura di tipo Impegno (dato che raccoglie diversi tipi nel suo interno)?
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 01-12-2002, 16:07   #2
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Re: Aiuto per calloc (...eeeeC++...salute)

Ragionandoci meglio mi e riuscito cosi...alloco dinamicamente ora?!?


Codice:

#include <stdlib.h>
#include <stdio.h>

typedef struct {int ore;
                int minuti;} Orario;
typedef struct {Orario time;
                char attivita;} Impegno;

int main()
{
 int i,j=0;
 Impegno *p;                         /*rimodifica*/
 Impegno impegno;
 printf ("Quanti impegni hai oggi? ");
 scanf ("%d", &i);
 p=(Impegno*) calloc (i,sizeof(Impegno));
 for (j=0; j<i; j++)
  {
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
   p[j]= impegno;        /*rimodifica*/
  }

 system("PAUSE");
 return 0;
}

è +o- giusto?

suggerite suggerite, dai che imparo...

ah cionci se passo l'esame in gennaio...verso l'estate passo dalle tue parti a offrirti uno spritz!!!

(se sai cos'è...)
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2002, 09:32   #3
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Re: Re: Aiuto per calloc (...eeeeC++...salute)

Nessuno ?
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2002, 16:50   #4
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
eee la peppa!
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2002, 20:25   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Cos'è uno spritz ? Mi devo preoccupare ?!?!?!?

Comuqnue qui...
Codice:
   
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
   p[j]= impegno;
...potevi anche usare direttamente p[j]...

Va bene anche così...ma è più logica una cosa del genere :
Codice:
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(p[j].attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(p[j].time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(p[j].time.minuti));
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2002, 21:42   #6
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Cos'è uno spritz ? Mi devo preoccupare ?!?!?!?

Comuqnue qui...
Codice:
   
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
   p[j]= impegno;
...potevi anche usare direttamente p[j]...

Va bene anche così...ma è più logica una cosa del genere :
Codice:
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(p[j].attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(p[j].time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(p[j].time.minuti));

ascolta... perche p[j] ?? al posto di impegno?? ho molta confusione su questo argomento che abbiamo appena fatto....provo a rivederlo con calma ma è meglio se mi dai delle delucidazioni anche tu...domani andro in unive a fami spiegare meglio anche da loro...non lo trovo per niente facile sto discorso...
grazie intanto per l'attenzione...


PS:
spritz: miscela a base di prosecco + campari o aperol o altro...+ olivetta... taglia mooolto le gambe...(poi dipende chi te lo fa...)
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2002, 02:37   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da MetalMassacre
[b]spritz: miscela a base di prosecco + campari o aperol o altro...+ olivetta... taglia mooolto le gambe...(poi dipende chi te lo fa...)
A me non mi taglia niente le gambe

L'unica volta che un cocktail mi ha tagliato le gambe...avevo detto al barman : "mettici quello che ti pare basta che sia la cosa più forte che tu abbia mai fatto"... Sono stato 4 ore senza sentire gusto in bocca

calloc instanzia riserva una zona di memoria per contenere una series di dati di dimensione i * sizeof(impegno)...
Dopo funziona come un vettore... Se p è il puntatore al vettore p[i] equivale ad *(p+i)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2002, 10:26   #8
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]
...Sono stato 4 ore senza sentire gusto in bocca
Bhe a differenza uno spritz non sprigiona tutta sta violenza...




ok...spetta... creo un array di impegni di tipo Impegni nella memoria dinamica con calloc;

allora quel puntatore p all'inizio è
p = &impegno [j]?? partendo con j=0



mi correggo...ho creato un array per variabili di tipo Impegno... p[j] indica ognuna delle celle di cui è composto l'array....con p[j].attività accedo direttamente al campo attività di quella cella j dell'array... ma l'array allora si chiama p?!? ma p poi non è un puntatore all prima cella dell'array..?!?


forse non ho ben chiaro sto discorso di array come puntatori...
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2002, 16:00   #9
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
di per se l'esercizio continua così...

Scrivere una funzione void ordina(Impegno *ag, int n) che data un agenda (cioè un array di Impegni) di dimensione n, riordina gli
impegni contenuti nell'agenda secondo l'ordine cronologico.

Ad esempio un'agenda ordinata è la seguente:
h. 8:00 sveglia
h. 11:00 tennis
h. 19:30 cinema
(Suggerimento: si usi uno degli algoritmi di ordinamento visti a
lezione).

ma non capisco nemmeno da dove partire o meglio cosa devo fare...ho capito che un agenda è un array di impegni...*ag che è?
avete idee piu chiare sul dafaris?
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2002, 17:42   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da MetalMassacre
[b]forse non ho ben chiaro sto discorso di array come puntatori...
In C c'è una relazione molto stretta fra array e puntatori ad una struttura allocata dinamicamente... Anzi...in pratica sono la stessa cosa...

int p[10];
int *q;

q = (int *)calloc(10, sizeof(int));

A questo punto p e q li usi alla stessa maniera !!! Solo devi ricordarti di fare il free di q...
L'unica cosa che non puoi fare a p (che di per sè è un int * che punta al primo elemento del vettore, non è IL VETTORE) è assegnargli un valore...cosa che invece a q posso fare (con la calloc ad esempio)...

Ad esempio :

*(p+1) = *q; /*assegno q[0] a p[1]*/
p[1] = q[0]; /*come sopra*/

Per il tuo esercizio...

void ordina(Impegno *ag, int n) è il prototipo della funzione di ordinamento che devi svilupare...

Il puntatore ag è il puntatore ad un elemento del vettore...ad esempio al primo...

Se io voglio rodinare "Impegni p[20]"... Richiamerò la ordina in questo modo :

ordina(p, 20);

Come ti ho spiegato prima p è un "Impegni *" !!! Scrivere Impegni *ag o Impegni ag[] è equivalente per il tuo scopo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2002, 22:11   #11
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]
In C c'è una relazione molto stretta fra array e puntatori ad una struttura allocata dinamicamente... Anzi...in pratica sono la stessa cosa...

int p[10];
int *q;

q = (int *)calloc(10, sizeof(int));

A questo punto p e q li usi alla stessa maniera !!! Solo devi ricordarti di fare il free di q...
L'unica cosa che non puoi fare a p (che di per sè è un int * che punta al primo elemento del vettore, non è IL VETTORE) è assegnargli un valore...cosa che invece a q posso fare (con la calloc ad esempio)...

Ad esempio :

*(p+1) = *q; /*assegno q[0] a p[1]*/
p[1] = q[0]; /*come sopra*/

Per il tuo esercizio...

void ordina(Impegno *ag, int n) è il prototipo della funzione di ordinamento che devi svilupare...

Il puntatore ag è il puntatore ad un elemento del vettore...ad esempio al primo...

Se io voglio rodinare "Impegni p[20]"... Richiamerò la ordina in questo modo :

ordina(p, 20);

Come ti ho spiegato prima p è un "Impegni *" !!! Scrivere Impegni *ag o Impegni ag[] è equivalente per il tuo scopo...

Ma continuo a non capire....
siccome devo dichiarere dinamicamente sta roba....
devo usare malloc (size of (agenda)) oppure calloc (n, size of(impegno)) ?? (credo di sapere la differenza tra questi...il primo alloca spazio per una variabile di tipo agenda il secondo n variabili di dimensione impegno....e un'agenda non è un array di impegni difatti???


solitamente mi credo un algoritmo in testa per vedere come fare gli esercizi ...ma sto giro non ne vado furi ...non comprendo come poter fare..
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2002, 22:34   #12
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
FOLGORAZIONE

Codice:
main
.......
......
k=(Impegno*) calloc (n, size of(Impegno));
ordina (&k, n);
.......
.......


void ordina (Impegno *ag, int n)
.......
.......
Possibile farlo così????
se si.... posso fare free p /*guarda il main del programma perchè sta seconda parte è correlata con la prima parte dell'exercizio*/
e usare p al posto di k??? o quello che c'e in p mi serve??cioe se freecco p non ho piu i dati che contiene e mando a putt... tutto?!?
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2002, 09:02   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Re: FOLGORAZIONE

Quote:
Originariamente inviato da MetalMassacre
[b]
Codice:
main
.......
......
k=(Impegno*) calloc (n, size of(Impegno));
ordina (&k, n);
.......
.......


void ordina (Impegno *ag, int n)
.......
.......
Possibile farlo così????
se si.... posso fare free p /*guarda il main del programma perchè sta seconda parte è correlata con la prima parte dell'exercizio*/
e usare p al posto di k??? o quello che c'e in p mi serve??cioe se freecco p non ho piu i dati che contiene e mando a putt... tutto?!?
NONE !!
k è già un Impegno * !!!
Non importa usare il dereference (&amp...
In questo modo passi a ag l'indirizzo del puntatore... Invece devi passare l'indirizzo contenuto nel puntatore alla memoria allocata con calloc !!!

La differenza fra malloc e calloc è che calloc riempie di zero la memoria che alloca...

Potevi anche fare :

k = (Impegno*) malloc (n * sizeof(Impegno));

Poi per richiamare ordina fai in questo modo (sia con malloc che con calloc):

ordina(k, n);

Dentro la ordina usi ag come un normale vettore...ad ag volendo gli puoi passare anche un vettore allocato staticamente :

Impegno k[10];
...
ordina(k, n);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2002, 16:08   #14
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Codice:
#include <stdlib.h>
#include <stdio.h>

typedef struct {int ore;
                int minuti;} Orario;
typedef struct {Orario time;
                char attivita;} Impegno;

void ordina (Impegno *ag, int n)
/*.........................................*/



int main()
{
 int n,j=0;
 Impegno *p,*k;
 Impegno impegno;
 printf ("Quanti impegni hai oggi? ");
 scanf ("%d", &n);
 p=(Impegno*) calloc (n,sizeof(Impegno));
 for (j=0; j<n; j++)
  {
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
   p[j]= impegno;
  }
 k=(Impegno*) calloc (n,sizeof(Impegno));
 ordina (k;n);



system("PAUSE");
 return 0;
}
ora ho il mio puntatore ag che punta alla prima cella dell'array dinamico di dimensione n celle .... vero?

posso fare paragoni del tipo
ag [i].time.ora<ag[i+1].time.ora ???

puoi suggerirmi come implementare la ricerca per ordinare e stampare gli impegni in base all'ora...
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2002, 16:16   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non capisco cosa stai facendo...perchè hai allocato anche k ?

Certo...puoi fare tutti i confronti che ti pare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2002, 16:29   #16
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Codice:
#include <stdlib.h>
#include <stdio.h>

typedef struct {int ore;
                int minuti;} Orario;
typedef struct {Orario time;
                char attivita;} Impegno;

void ordina (Impegno *ag, int n)
/*.........................................*/



int main()
{
 int n,j=0;
 Impegno *p;
 Impegno impegno;
 printf ("Quanti impegni hai oggi? ");
 scanf ("%d", &n);
 p=(Impegno*) calloc (n,sizeof(Impegno));
 for (j=0; j<n; j++)
  {
   printf ("\nIl tuo %d° impegno di oggi e': ",j+1);
   scanf ("%s", &(impegno.attivita));
   printf ("Si terra' alle ore: ");
   scanf ("%d", &(impegno.time.ore));
   printf ("e quanti minuti? ");
   scanf ("%d", &(impegno.time.minuti));
   p[j]= impegno;
  }
 
 ordina (p;n);



system("PAUSE");
 return 0;
}
meglio cosi?.....avevo lasciato in giro un po di roba...

un ciclo del genere fa al caso mio....??

Codice:
for (i=0; i<=n; i++)
temp =p[i];
for (j=1; j<=n; j++) 
  if (temp<p[j])
     p[i]=temp
  else  temp=p[j]
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2002, 19:40   #17
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Ho fatto anche la 3^ parte dell exercizio che richiedeva:

Scrivere una funzione Orario cerca(Impegno *ag, int n, char *att) che
controlla se un dato impegno (identificato dalla stringa att) è previsto
nell'agenda di oggi, ritornandone l'orario. Se l'impegno non è previsto,
la funzione deve ritornare un orario negativo (es. _1 : _1).

puo andare una cosa del genere?



Codice:
Orario cerca(Impegno *ag, int n, char *att) 
{
 int i;
 for (i=0; i<=n; i++)
   if (strcmp (ag[i].attivita, att) ==0 )
     return ag[i].time
   else printf ("-1:-1")    
}
se fosse giusto (almeno concettualmente) come posso far ritornare -1:-1 senza "barare" con la printf???
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Germanio superconduttore: un passo avant...
Nexperia, l'incontro tra Trump e Xi Jinp...
GPU RDNA 1 RX 5000 e RDNA 2 RX 6000, AMD...
Google Maps avrà una modalit&agra...
HONOR sta lavorando a uno smartphone con...
Thermaltake MAGFloe 360 Ultra ARGB Sync:...
Xiaomi 15T ora in super offerta su Amazo...
Si stringe il cerchio attorno a TP-Link ...
Amazon cambia i prezzi ancora una volta:...
Imperdibili i Google Pixel 10 a questi p...
Dyson OnTrac in super offerta su Amazon:...
Amazon: la nuova ondata di licenziamenti...
Questo portatile è un mostro: MSI...
Apple Watch Series 11 GPS + Cellular cro...
JBL Clip 5 in forte sconto su Amazon: lo...
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: 08:03.


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