Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2002, 09:31   #1
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Somma array

Ciao a tutti, ho un nuovo quesito da risolvere....
devo fare la somma incrociata degli elementi contenuti in due array di interi distinti...ma devo usare assssolutamente i puntatori....ma tanto per cambiare c'e qualcosa che non torna..

Avete idea di cosa possa aver sbagliato?

Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 5

int main()
{int a[DIM];
 int b[DIM];
 int c[DIM];
 int *p1,*p2,*p3;
 p3=&c[0];
 printf ("Digita i %d numeri del primo array\n",DIM);
 for (p1=&a[0]; p1<=&a[DIM-1]; p1++)
  scanf ("%d", p1);
 printf ("Digita i %d numeri del secondo array\n",DIM);
 for (p2=&b[0]; p2<=&b[DIM-1]; p2++)
  scanf ("%d", p2);
 for (p1=&a[0]; p1<=&a[DIM-1]; p1++,p2++,p3++)
 {p3=*p1+*p2;
  printf ("%d  ",*p3);}

system("PAUSE");
return 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 25-11-2002, 10:28   #2
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
Che strano... Con Dev-C++ non funziona...mentre con VC++ funziona perfettamente... Mah...

PS: manca l'asterisco davanti a p3 quando fai la somma...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2002, 10:34   #3
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
E invece l'errore c'era...
Devi reinizializzare p1 e p2 all'inizio dei rispettivi vettori...
Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 5

int main()
{int a[DIM];
 int b[DIM];
 int c[DIM];
 int *p1,*p2,*p3;
 p3=c;
 printf ("Digita i %d numeri del primo array\n",DIM);
 for (p1=a; p1<=&a[DIM-1]; p1++)
  scanf ("%d", p1);
 printf ("Digita i %d numeri del secondo array\n",DIM);
 for (p2=b; p2<=&b[DIM-1]; p2++)
  scanf ("%d", p2);
 for (p1=a, p2=b; p1<=&a[DIM-1]; p1++,p2++,p3++) /*gurda qui*/
 {*p3=*p1+*p2;
  printf ("%d  ",*p3);}

system("PAUSE");
return 0;
}
Ora però non mi spiego come potesse funzionare in VC++...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2002, 10:40   #4
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
Che bello

Ti spiego perchè funzionava...

Il vettore a veniva allocato dopo di b...quindi &b[5] == &a[0]...

Io immettevo gli stessi numeri in entrambi i vettori (1 2 3 4 5)...
Finita l'immissione p2 mi puntava a a[0]...
Così facevo la somma delle stesse locazioni in memoria ed avendo immesso gli stessi numeri in entrambi i vettori la somma era quella che sarebbe dovuta essere
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2002, 11:18   #5
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Che bello

Ti spiego perchè funzionava...

Il vettore a veniva allocato dopo di b...quindi &b[5] == &a[0]...

Io immettevo gli stessi numeri in entrambi i vettori (1 2 3 4 5)...
Finita l'immissione p2 mi puntava a a[0]...
Così facevo la somma delle stesse locazioni in memoria ed avendo immesso gli stessi numeri in entrambi i vettori la somma era quella che sarebbe dovuta essere

Ah! anche a me dava sto problema prima di postare...poi l'ho modificato e cmq l'ho postato sbagliato....un'altra cosa la somma doveva essere incrociata nel senso : c[0]=a[0]+b[DIM-1] c[1]=a[1]+b[DIM-1-1] e così via.....ma ho risolto ...dovrebbe essere ok cosi...



Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 5

int main()
{int a[DIM];
 int b[DIM];
 int c[DIM];
 int *p1,*p2,*p3;
 p3=&c[0];
 printf ("Digita i %d numeri del primo array\n\n",DIM);
 for (p1=&a[0]; p1<=&a[DIM-1]; p1++)
  scanf ("%d", p1);
 printf ("\nDigita i %d numeri del secondo array\n\n",DIM);
 for (p2=&b[0]; p2<=&b[DIM-1]; p2++)
  scanf ("%d", p2);
 printf ("\nLa somma incrociata dei numeri inseriti corrisponde a:\n\n");
 for (p1=a, p2=&b[DIM-1]; p1<=&a[DIM-1]; p1++,p2--,p3++)
 {*p3=*p1+*p2;
  printf ("%d  ",*p3);}
  printf ("\n\n");
system("PAUSE");
return 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 25-11-2002, 11:25   #6
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]E invece l'errore c'era...
Devi reinizializzare p1 e p2 all'inizio dei rispettivi vettori...
Codice:
#include <stdlib.h>
#include <stdio.h>
#define DIM 5

int main()
{int a[DIM];
 int b[DIM];
 int c[DIM];
 int *p1,*p2,*p3;
 p3=c;
 printf ("Digita i %d numeri del primo array\n",DIM);
 for (p1=a; p1<=&a[DIM-1]; p1++)
  scanf ("%d", p1);
 printf ("Digita i %d numeri del secondo array\n",DIM);
 for (p2=b; p2<=&b[DIM-1]; p2++)
  scanf ("%d", p2);
 for (p1=a, p2=b; p1<=&a[DIM-1]; p1++,p2++,p3++) /*gurda qui*/
 {*p3=*p1+*p2;
  printf ("%d  ",*p3);}

system("PAUSE");
return 0;
}
Ora però non mi spiego come potesse funzionare in VC++...


dimmmi se ho capito bene....

allora si riinizializzano entrambi p1=a, p2=&b[DIM-1]; perche nei rispettivi cicli for precedenti p1 era diventato=&a[DIM-1] (condizione di termine del ciclo); e p2 era diventato =&b[DIM-1]; ??? ho capito bene?


se cosi allora non mi servirebbe riinizializzare p2 dato che parto dall'ultimo elemento dell'array b...adesso provo....

e invece serve...mi stampa cazz@te se non riinizializzo anche p2...ma perche? in cosa è sbagliato il mio ragionamento?
__________________
...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 25-11-2002, 11:35   #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]
dimmmi se ho capito bene....

allora si riinizializzano entrambi p1=a, p2=&b[DIM-1]; perche nei rispettivi cicli for precedenti p1 era diventato=&a[DIM-1] (condizione di termine del ciclo); e p2 era diventato =&b[DIM-1]; ??? ho capito bene?
Hai capito bene... Però p1 era diventato &a[DIM]....e p2 era &b[DIM]... Perchè dal for ci escono quando i puntatori sono maggiori dell'ultima cella dell'array...quindi quando p1 > &a[DIM-1]...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Amazon Luna saluta gli store di terze pa...
Windows Update non sarà più un incubo: M...
Stampante HP con Wi-Fi e 3 mesi di inchi...
Metro 2039 potrebbe essere il nuovo capi...
Call of Duty: Modern Warfare 4 l'uscita ...
Mega risparmi su Amazon Haul fino a mezz...
Il Blu-ray è davvero morto? Due a...
OpenAI punta sulla pubblicità in ...
Gmail, arriva la crittografia end-to-end...
Molotov contro la casa di Altman: il CEO...
Tesla ottiene l'approvazione del sistema...
Monopattini elettrici: il MIT rassicura ...
Roborock Saros 20 va subito in offerta: ...
Epic Games lavora ad un gioco sparatutto...
Rockstar Games vittima di un attacco hac...
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: 11:37.


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