Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-11-2002, 16:44   #1
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
iecchime qua!!: serch(char *p[], char *name)

ohh quà! sto giro forse è piu facile che mai ma....anch'io ho i miei limiti....




Sto giro mi vien data una funzione serch(char *p[], char *name)..in base alla quale devo determinare se un nome compare tra quelli elencati....in caso il nome ci sia deve restituire l'indice dell'array nel quale ha trovato il nome altrimenti -1


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



int search(char *p[], char *name)
{



}

char*names[]={
"Alberto",
"Luigi",
"Daniele",
"Giovanni",
NULL}; /* la costante puntatore NULL conclude l'elenco */

int main(void) {
if (search(names, "Daniele") != -1) /* names[2] */
printf("Daniele e' contenuto nell'elenco.\n");
if (search(names, "Dario") == -1)
printf("Dario e' assente dall'elenco");
return 0;
}


system("PAUSE");
return 0;
}



Idee di tutti i tipi venghino a me....e a tutti coloro che ci capiscono qualcosa
__________________
...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 29-11-2002, 16:56   #2
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Utilizzare strcmp della libreria string.h?

Bye
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2002, 17:09   #3
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
puff... pant...arf arf.....ci sto provando....ho partorito sta schifezza... non credo sia per niente giusta...ma come ragionamento potrebbe andare?!?


Codice:
...
for (ind=&p[0]; ind<=&p[DIM-1]; ind ++)
       for (i=j=0; i<DIM-1;i++)
       int strcmp ((*p[0])[i], (*name)[j]);


e se sono uguali fino alla fine ritorno l'indice

scusate ma sono un po intrippato....
le parentesi sullo strcmp sono cannate quasi sicuramente...
aiuuuuto
__________________
...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 29-11-2002, 17:21   #4
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
La strcmp e' una funzione che restituisce un intero uguale, maggiore o minore di zero.

Il caso che interessa a te e' quando questo valore di ritorno e' zero in quanto significa che le stringhe che hai passato come parametro sono uguali.

Quindi dentro il for devi mettere una cosa del tipo

if (strcmp(s1,s2)==0) ...bla bla bla

s1 e s2 sono stringhe e non caratteri come mi sembra tu abbia erroneamente interpretato.

Ci sono anche soluzioni piu' eleganti, ma preferisco dirti questa che e' la piu' semplice.

Prova a pensarci un po' su, e se non risolvi ti scrivero' una possibile soluzione.

Bye
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2002, 17:35   #5
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da bsummer
[b]La strcmp e' una funzione che restituisce un intero uguale, maggiore o minore di zero.

Il caso che interessa a te e' quando questo valore di ritorno e' zero in quanto significa che le stringhe che hai passato come parametro sono uguali.

Quindi dentro il for devi mettere una cosa del tipo

if (strcmp(s1,s2)==0) ...bla bla bla

s1 e s2 sono stringhe e non caratteri come mi sembra tu abbia erroneamente interpretato.

Ci sono anche soluzioni piu' eleganti, ma preferisco dirti questa che e' la piu' semplice.

Prova a pensarci un po' su, e se non risolvi ti scrivero' una possibile soluzione.

Bye

Ho trovato un asoluzione un po piu fissa della cazzatissima che ho postato prima .....

Codice:
char str1 [10];
for (i=0; i<=DIM; i++)  /*voglio scorrere tutti i nomi dell'array p[]*/
{strcpy (str1, *p[i])
  strcpy (str2, *name)
   if strcmp (str1, str2)==0
     return i
   else return -1}

mah mi sembra un po piu leggibile....ah entro mezzanotte devo farlo altrimenti mi trasformo in zucca....piu di quello che mi ritrovo!!!

bah non è malvagio ora?!? almeno si capisce cosa vorrei 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 29-11-2002, 18:16   #6
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
aggiornamento:

Codice:

#include <stdlib.h>
#include<stdio.h>
#include<string.h>
#define DIM 4
 

int search(char *p[], char *name)
{
 int i;
 char str1 [10];         /*numero massimo di caratteri in str1*/
 char str2 [10];         /*numero massimo di caratteri in str2*/
 for (i=0; i<=DIM; i++)        /*scorro tutti i 4 nomi di *p[]*/
 {
  strcpy (str1, *p[i]);
  strcpy (str2, *name);
  if (strcmp (str1, str2)==0)
     return i;
   else return -1;
 }
}

char*names[]={
              "Alberto",
              "Luigi",
              "Daniele",
              "Giovanni",
               NULL};        /* la costante puntatore NULL conclude l'elenco */

int main(void)
{
 if (search(names, "Daniele") != -1)       /*   names[2]   */
 printf("Daniele e' contenuto nell'elenco.\n");
 if (search(names, "Dario") == -1)
 printf("Dario e' assente dall'elenco");
 system("PAUSE");
 return 0;
}
mi da problemi a livello delle 2 strcpy....perche non posso fare 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 29-11-2002, 19:27   #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
Prova così :
Codice:
#include <stdlib.h>
#include<stdio.h>
#include<string.h>
//#define DIM 4 
 

int search(char *p[], char *name)
{
 int i = 0;
 while(p[i] != NULL)        /*scorro tutti i nomi di fino al NULL*/
 {
  if (strcmp (p[i++], name)==0)
     return i;
   /*else return -1; questo non ci vuole...altrimenti fa un solo controllo */
 }
 return -1;
}

char*names[]={
              "Alberto",
              "Luigi",
              "Daniele",
              "Giovanni",
               NULL};        /* la costante puntatore NULL conclude l'elenco */

int main(void)
{
 if (search(names, "Daniele") != -1)       /*   names[2]   */
 printf("Daniele e' contenuto nell'elenco.\n");
 if (search(names, "Dario") == -1)
 printf("Dario e' assente dall'elenco\n");
 system("PAUSE");
 return 0;
}
Se metti il NULL in fondo allora sfruttalo per terminare il ciclo di confronto
Le due stringhe temporanee non servivano a niente...
C'era un * in più davanti p[i]...
Nota il post incremento nella strcmp... E' quello che fa avanzare i...
La sai la differenza fra preincremento e postincremento ?

int a = 0, b;

b = a++; /*b va a zero perchè l'incremento avviene solo
dopo la fine della riga*/
b = ++a; /*a ora è 1 e la preincremento e b vale 2*/

b = ++a; equivale a b = (a = a + 1);
b = a++; equivale a b = a; ++a;
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2002, 00:03   #8
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Prova così :
Codice:
#include <stdlib.h>
#include<stdio.h>
#include<string.h>
//#define DIM 4 
 

int search(char *p[], char *name)
{
 int i = 0;
 while(p[i] != NULL)        /*scorro tutti i nomi di fino al NULL*/
 {
  if (strcmp (p[i++], name)==0)
     return i;
   /*else return -1; questo non ci vuole...altrimenti fa un solo controllo */
 }
 return -1;
}

char*names[]={
              "Alberto",
              "Luigi",
              "Daniele",
              "Giovanni",
               NULL};        /* la costante puntatore NULL conclude l'elenco */

int main(void)
{
 if (search(names, "Daniele") != -1)       /*   names[2]   */
 printf("Daniele e' contenuto nell'elenco.\n");
 if (search(names, "Dario") == -1)
 printf("Dario e' assente dall'elenco\n");
 system("PAUSE");
 return 0;
}
Se metti il NULL in fondo allora sfruttalo per terminare il ciclo di confronto
Le due stringhe temporanee non servivano a niente...
C'era un * in più davanti p[i]...
Nota il post incremento nella strcmp... E' quello che fa avanzare i...
La sai la differenza fra preincremento e postincremento ?

int a = 0, b;

b = a++; /*b va a zero perchè l'incremento avviene solo
dopo la fine della riga*/
b = ++a; /*a ora è 1 e la preincremento e b vale 2*/

b = ++a; equivale a b = (a = a + 1);
b = a++; equivale a b = a; ++a;

aspetta...c'e qualcosa che non mi torna....

1° se inizializzo i=0
e poi confronto p[i++] con name vuol dire che confronto p[0] con name e poi incremento i che diventa 1....ma così allora ritorno 1 non 0....

2° perche confronto con name? cosa sta ad indicare name? ...è un puntatore a carattere che deve ricevere come valore un indirizzo di memoria....ma...ma...non mi capisco più....e poi il parametro attuale nel mai gli passa "Daniele" perchè? "Daniele" è una stringa non un indirizzo di memoria....


azzz....sto facendo casino!! sbrogliami sto dubbio!!
__________________
...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 30-11-2002, 00:07   #9
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Hai altre idee? modi diversi di vedere sto ambaradan? faceva proprio schifo il mio aggiornamento..?
__________________
...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 30-11-2002, 00:29   #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]aspetta...c'e qualcosa che non mi torna....

1° se inizializzo i=0
e poi confronto p[i++] con name vuol dire che confronto p[0] con name e poi incremento i che diventa 1....ma così allora ritorno 1 non 0....
Hai ragione... A questo punto o torni i-1 o fai l'incremento dopo...
Quote:
Originariamente inviato da MetalMassacre
[b]2° perche confronto con name? cosa sta ad indicare name? ...è un puntatore a carattere che deve ricevere come valore un indirizzo di memoria....ma...ma...non mi capisco più....e poi il parametro attuale nel mai gli passa "Daniele" perchè? "Daniele" è una stringa non un indirizzo di memoria....
Una stringa è un indirizzo di memoria...

Per la precisione le stringhe specificate tra apici sono di tipo char []...

Allora perchè strcpy(str, "ciao"); funziona secondo te ?
Proprio perchè "ciao" è un char []...

Senza contare l'allocazione di una stringa...

char str[] = "ciao";

Secondo te perchè funziona una cosa del genere ? Proprio perchè "ciao" è di tipo char []...

Assegni ad un puntatore di tipo char [] un altro char []...

name punta ad una stringa e p[i] punta ad una stringa perchè non dovrei confrontarli ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2002, 00:43   #11
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
Qualche ulteriore miglioramento può essere fatto nella search...
Ma è solo una questione di stile :
Codice:
int search(char *p[], char *name)
{
 int i = 0;
 while(p[i])        /*scorro tutti i nomi di fino al NULL*/
 {
  if(!strcmp(p[i], name))
     return i;
  ++i;
 }
 return -1;
}
if(!a) equivale a if(a == 0)
if(a) equivale a if(a != 0)
NULL in quasi tutti i linguaggi equivale a 0...

Ti voglio porre un quesito...
Come fai a far ritornare più di un valore ad una funzione ?

Ad esempio...devi cercare le prime 3 occorrenze di una lettera all'interno di una stringa... Fammi la funzione che svolge fa cosa...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2002, 10:17   #12
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Qualche ulteriore miglioramento può essere fatto nella search...
Ma è solo una questione di stile :
Codice:
int search(char *p[], char *name)
{
 int i = 0;
 while(p[i])        /*scorro tutti i nomi di fino al NULL*/
 {
  if(!strcmp(p[i], name))
     return i;
  ++i;
 }
 return -1;
}
if(!a) equivale a if(a == 0)
if(a) equivale a if(a != 0)
NULL in quasi tutti i linguaggi equivale a 0...

Ti voglio porre un quesito...
Come fai a far ritornare più di un valore ad una funzione ?

Ad esempio...devi cercare le prime 3 occorrenze di una lettera all'interno di una stringa... Fammi la funzione che svolge fa cosa...

bhe...una funzione restituisce un unico valore, ma tramite i puntatori posso farne ritornare una buona caterba...
è questo che mi domandavi?
....non ho capito il tuo quesito...ho una stringa e devo fare una funzione per...?....data una stringa vedere quali caratteri si ripetono per 3 volte all'interno della stessa?
__________________
...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 30-11-2002, 10:19   #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
Vabbè...allora se sapevi che si poteva fare con i puntatori non c'è gusto
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2002, 11:28   #14
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Aspetta dammi un aggiornamento...

dire name è come dire name[0]....non &name[0]
&name[0] restituisce l'indirizzo di memoria di name[0] (e perciò di tutto l'array)


se voglio assegnare una serie di valori ad un array devo farlo con un ciclo for ad esempio...non c'e modo di passare l'inidirzzo della prima cella dell'array e lassegnamento avviene consecutivamente per tutti i valori ?!?

non ricordo che cosa indicava
su un vecchio esercizio ....scanf ("%[^\n]", riga) ?!?
dato char riga[80]
__________________
...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 30-11-2002, 11:35   #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
name è come dire &name[0]...

Perchè name è già il puntatore al primo elemento del vettore...

scanf ("%[^\n]", riga) significa che leggi tutti i caratteri fino a quando non incontri uno \n...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2002, 12:46   #16
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]name è come dire &name[0]...

Perchè name è già il puntatore al primo elemento del vettore...

scanf ("%[^\n]", riga) significa che leggi tutti i caratteri fino a quando non incontri uno \n...

int search(char *p[], char *name)
{......
.......
if(!strcmp(p[i], name))

spetta che adesso sono veramente in aceto...

char*p[] indica un array di nomi (che sono array di caratteri,ma qusto a me importa relativamente)

char *name essendo un puntatore ad una stringa (es "davide")...punta al primo elemento della stringa cioè a'd'




nel momento in cui confronto p[i] con name, sto confrontando la stringa contenuta in p[i] (es "alberto") con name che è l'indirizzo di memoria del primo elemento dell'array di caratteri a cui punta(cioè &name[0]come mi hai fatto notare) (cioè 'd' di "davide")....

ma a ragion di logica farei un confronto tra una stringa ed un carattere...mmm


a meno che name (e/o name[0]) puntando a "davide" non restituisca per intero il "davide" (come credo)...ma non dovrebbe essere allora *name?cioè il contenuto di cio a cui punta name...
__________________
...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 30-11-2002, 12:54   #17
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Codice:
[i]

scanf ("%[^\n]", riga) significa che leggi tutti i caratteri fino a quando non incontri uno \n

[/i]

quindi posso mettere altri caratteri di tabulazione al posto di \n....anche \0?
__________________
...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 30-11-2002, 14:14   #18
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Provo a spiegarmi meglio....

Codice:
main()
{...
search(names,"daniele");
...}


int search (char *p[], char *name)
{...
strcmp (p[i], name);
...}
Allora, io ero abituato a vedere al posto di search(names,"daniele"); una cosa del tipo search(names, str); dove char str={"daniele")

di conseguenza capivo meglio che str passava a name l'indirizzo str (e/o &str[0])...

ma anche se fosse così mi sorge un dubbio...quando faccio il confronto....lo faccio tra la stringa in p[i] e name che è str(e/o &str[0]) ma quest'ultimo str (e/o &str[0]) è un indirizzo non il contenuto dell'array...


spero di aver spiegato meglio qual'e il mio dubbio...

e poi passando come parametro attuale "daniele" che indirizzo viene passato a name?!?(credo &...[0]l'indirizzo in cui vi è 'd') cioe viene creato da se stesso l'array che contiene i caratteri 'd' 'a' 'n' 'i' 'e' 'l' 'e'? e che nome ha? dato che ho messo...


devo seguire anche un corso di italiano all'unive...
e si che alle superiori ero na macchina nei temi...
__________________
...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 30-11-2002, 18:43   #19
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
Cerco di farti capire meglio...

...anche p[i] è un char *...e punta la primo elemento dell'i-esimo nome...

Nota che la dichiarazione di strcmp è questa :

int strcmp(char *, char *);

Un vettore è sempre identificato dal suo puntatore... Altrimenti come potresti identificarlo ?

Se io dichiaro:

int v[10];

In ciò che si chiama v non sono contenuti tutti gli elementi del vettore, ma v è il puntatore al primo elemento del vettore...
Prova ad accedere ad *v e vedrai che è il primo elemento del vettore...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
AWS Transform si evolve: agenti IA per m...
I social network hanno stancato gli ital...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
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: 23:42.


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