Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
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


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Smart home più facile ed economic...
Motorola edge 50 neo in svendita, 202€: ...
Cina e Paesi Bassi verso la distensione ...
'Senza TSMC non ci sarebbe NVIDIA': Jens...
Fumo di sigaretta e sporco per 17 anni: ...
Resi Amazon Natale 2025: cambiano i temp...
L'SSD modulare aggiornabile come un PC: ...
Intel ha denunciato un ex dipendente per...
Blue Origin rinvia il secondo lancio del...
Nasce l'albo degli influencer 'rilevanti...
Il Digital Networks Act è stato r...
ASUS ROG ha lanciato due nuovi monitor d...
I nuovi iPhone 18 Pro potrebbero present...
Una parte dei Galaxy S26 avrà chi...
Amazon permetterà agli autori ind...
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:36.


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