Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-09-2008, 15:06   #1
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
[C++] Array e funzione

Ciao a tutti, avendo da poco iniziato ad usare c++, mi trovo in difficoltà nella gestione degli array.
In particolare questo succede quando voglio utilizzare delle funzioni con file .h per allegerire il main, al momento di dare in uscita della funzione l'array elaborata, ed il successivo richiamo.

Nel file zip vi sono il file principale e due funzioni, quella problematica è il raddoppia, una semplice funzione che mi sono inventato per creare una funzione che lavora sui singoli componenti dell'array. Il primo problema è cosa mettere in return, e successivamente come richiamare questo dal file principale.

Grazie a tutti!!


Leggendo un pò in giro ho scoperto che devono essere utilizzati i puntatori, è l'unica via percorribile?
Allegati
File Type: zip Problema.zip (1.0 KB, 8 visite)

Ultima modifica di Mattiatn : 15-09-2008 alle 16:42.
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2008, 20:55   #2
sebaldar
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 8
in C come argomento di funzione puoi passare indifferentemente un array o un puntatore a questo array (in realtà passi sempre un puntatore all'array)

double * Doppio ( double Dati[], int dim );
e
double * Doppio ( double * Dati, int dim );

sono perfettemente equivalenti e puoi in entrambi i casi utilizzare il corpo funzione che hai scritto, cioè accedere ai dati di Dati con il costrutto Dati[index], che è equivalenge a *(Dati+index)
Una funzione non può tuttavia ritornare un array ma solo il puntatore a questo.
Tuttavia non stiamo parlando di C, se vuoi utilizzare il C++ ti conviene stdiare la libreria standard del c++ la classe vector
http://www.cplusplus.com/reference/stl/vector/
ciao
sergio
sebaldar è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2008, 14:21   #3
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
Ho provato a districarmi negli indici , ma non sono riuscito a tirar fuori un ragno dal buco.

Leggendo a riguardo dei puntatori mi sembra di aver però capito che si agisce sui medesimi array in ingresso?
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2008, 21:13   #4
sebaldar
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 8
In C c'è una strettissima relazione tra puntatori e vettori, tutte le operazioni di indicizzazione su vettori possono essere eseguite anche con i puntatori. Normalmente si suggerisce per i programmatori in erba di utilizzare la indicizzazione, in quanto risulta di più semplice comprensione.
int v[10];
è un vettore di 10 int e v[0] si riferisce al primo elemento di tale vettore, mentre v[9] si riferisce all'ultimo.
v è un vettore ed il suo nome ( v ) è in C un sinonimo di puntatore al primo elemento, cioè v è il sinonimo di &v[0].
Allora se p è un puntatore a int
int * p;
allora posso scrivere
p = a;
e p è un puntatore al primo elemento del vettore.
(p+1) punterà quindi al secondo elemento e
*(p+i) sarà equivalente a v[i].
Non posso però scrivere (a+i) in quanto a è un nome di vettore.
spero di non averti confuso le idee.
ciao
sergio
sebaldar è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2008, 10:35   #5
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
Data la mia notevole esperienza con c++, dopo circa una settimana e dopo innumerevoli abbandoni forzati del computer per stizza, sono riuscito a comprendere le basi su come lavorare su array in funzioni, solamente che ora passando ad array multidimensionali mi trovo in difficoltà nuovamente, a causa delle dichiarazione delle array multidimensionali nella funzione.
USO FUNZIONE ED ARRAY.zip -> come ho risolto il problema (è ok questa cosa?)

ARRAY MULTIDIMENSIONALI.zip -> problema con array
Allegati
File Type: zip Prove.zip (2.9 KB, 0 visite)
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Il nuovo pannello OLED top di gamma di S...
Offerte LEGO Amazon: Formula 1, Harry Po...
Il Motorola Edge 70 Pro sta arrivando e ...
Amazon pronta a sfidare NVIDIA? La lette...
L'IA ridurrà drasticamente il lav...
Il primo pieghevole di Apple sta arrivan...
Altera estende il supporto ufficiale per...
GPU NVIDIA e connettori che si sciolgono...
Gli smartphone Samsung ed Apple sono i p...
PC più cari in arrivo: il boom de...
Tesla potrebbe realizzare un SUV elettri...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
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:46.


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