Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-09-2007, 15:33   #1
LetBloodline
Junior Member
 
Iscritto dal: Jul 2007
Messaggi: 27
[c++] Definizione di matrici

Scusate il disturbo ma mi trovo a dover istanziare una matrice e nn ci riesco se devo usare delle variabili come grandezza

Posso per esempio scrivere
Codice:
double tabella[10][10];
oppure
Codice:
double	(*tabella)[24] = new double[durata][24]
ma mi servirebbe inizializzare una tabella con una dimensione pari alla variabile durata e l'altra pari a un'altra variabile. Come posso fare?
LetBloodline è offline   Rispondi citando il messaggio o parte di esso
Old 28-09-2007, 15:51   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da LetBloodline Guarda i messaggi
ma mi servirebbe inizializzare una tabella con una dimensione pari alla variabile durata e l'altra pari a un'altra variabile. Come posso fare?
Così dovrebbe funzionare:
Codice:
double (*tabella)[m] = new double[durata][m];
'm' è ovviamente un altra variabile.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 28-09-2007, 16:34   #3
LetBloodline
Junior Member
 
Iscritto dal: Jul 2007
Messaggi: 27
mi dice che si aspetta una espressione costante se provo come mi hai detto. Non vuole la 'm' prima dell'uguale =/
LetBloodline è offline   Rispondi citando il messaggio o parte di esso
Old 28-09-2007, 16:46   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da LetBloodline Guarda i messaggi
mi dice che si aspetta una espressione costante se provo come mi hai detto. Non vuole la 'm' prima dell'uguale =/
In effetti ho fatto una stupidata .... prima di postare l'ho provato con il g++ su Linux e me lo dava per buono. Poi ho provato adesso con VC++ e non va e ho riprovato con g++ specificando, stavolta, -pedantic e mi dà un warning: ISO C++ forbids variable-size array

Che dire .... non si può fare così.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2007, 08:37   #5
LetBloodline
Junior Member
 
Iscritto dal: Jul 2007
Messaggi: 27
a parte una struttura non si può fare in altro modo? ç_ç
LetBloodline è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2007, 09:36   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da LetBloodline Guarda i messaggi
a parte una struttura non si può fare in altro modo? ç_ç
Sì, facendolo come "un array di array", tramite puntatori.
Codice:
double **matrice;

matrice = new double*[num_righe];

for (i = 0; i < num_righe; i++)
    matrice[i] = new double[num_colonne];
A questo punto l'espressione matrice[r][c] rappresenta un double. Questa tecnica comunque non crea un array vero e proprio come inteso dal C/C++ ("un insieme di elementi contigui in memoria"). È basata su puntatori e non puoi ovviamente risalire alle dimensioni tramite 'matrice'.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2007, 10:29   #7
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
se devi fare una matrice dinamica di, poniamo, m righe e n colonne puoi allocare un array unico di dimensioni m*n e poi per accedere al generico elemento della riga j e colonna i puoi fare:

matrice[m*j + n*i]

io ho sempre fatto così e anche all'uni l'hanno insegnato in questo modo, poi non so se è quello che serve a te
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2007, 10:45   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Torav Guarda i messaggi
matrice[m*j + n*i]
No, è matrice[j*n + i]

Quote:
Originariamente inviato da Torav Guarda i messaggi
io ho sempre fatto così e anche all'uni l'hanno insegnato in questo modo
Ah beh.....
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2007, 19:30   #9
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
ups ho scritto troppo veloce senza pensare e mi sono meritato la figuraccia
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2007, 15:44   #10
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Torav Guarda i messaggi
se devi fare una matrice dinamica di, poniamo, m righe e n colonne puoi allocare un array unico di dimensioni m*n e poi per accedere al generico elemento della riga j e colonna i puoi fare:

matrice[m*j + n*i]

io ho sempre fatto così e anche all'uni l'hanno insegnato in questo modo, poi non so se è quello che serve a te
all´uni insegnano in questo (orrendo) modo ???

della serie famolo strano
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2007, 17:40   #11
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
beh se hai presente come funziona la numerazione in una base qualsiasi (e se fai fisica è bene che tu lo sappia) allora è un metodo ottimo, veloce, intuitivo e non devi nemmeno impazzire a fare 2000 malloc e/o free!
Torav è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
RDNA 5 sulle APU AMD, ma non per tutti: ...
Marvell acquisisce Lumentum per 115 mili...
La febbre dei data center fa impennare i...
ECOVACS T90S OMNI crolla a 499€ su Amazo...
In Cina i camion elettrici hanno gi&agra...
Attacchi hacker ai supermercati in Europ...
I datacenter non piacciono? OpenAI prova...
Cupra Raval sfida BMW, Volvo e le altre:...
BYD supera per la prima volta le 300.000...
Crisi RAM, spunta un prezzo incredibile ...
Ginux, un nuovo kernel compatibile con L...
Gemini Notebook si aggiorna: arrivano i ...
Svolta per l'emulazione della prima Xbox...
Narwal celebra 10 anni: l'evoluzione tec...
TIM Enterprise acquisisce il 70% di VoiS...
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: 19:27.


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