Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
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


Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Ray-Ban Meta Audio: arrivano gli occhial...
Apple TV 4K: chip A19, CPU più veloce de...
Il mercato console sprofonda: i rincari ...
Apple Home Collection: videocamere 2,5K,...
Apple presenta HomeView, il nuovo hub do...
Apple HomePod mini 2 arriva in Italia: a...
SFSCON 2026: la sovranità digital...
Cooler Master GPU Shield arriva in Europ...
Wolters Kluwer Tax & Accounting pote...
NVIDIA accelera il DLSS 5: il nuovo mode...
Character.ai in bancarotta, Disney pront...
realme passa a ColorOS 17 con Android 17...
OPPO presenta ColorOS 17: più flu...
Giochi PS2 su smartphone Android: ARMSX2...
Ecco il nuovo tool semplificato per alle...
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: 00:11.


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