PDA

Visualizza la versione completa : [C++] Creare un vettore bidimensionale


ingdeb
05-01-2010, 01:08
Ciao avrei bisogno di sapere come dichiarare un vettore double bidimensionale in visual c++ e poi assegnare a ciascuna sua componente un valore prefissato(ad esempio devo assegnare alla prima componente il valore 1 e alla seconda componente del vettore il valore 0).Grazie

ignaziodeblasi
05-01-2010, 01:31
Diciamo che visual c++ non un linguaggio di programmazione..Quindi cerca di farti capire meglio :)

oregon
05-01-2010, 10:36
Un array di double ad esempio

double array[10][20];

Detto questo, se lo vuoi dinamico o altro e cosa ci devi fare, cerca di indicarlo con maggiore dettaglio.

ingdeb
05-01-2010, 11:00
Quello che devo fare e' dichiarare il vettore double bidimensionale e lavorare con le due componenti separatamente...nel codice ho scritto cosi':

double *n; //dichiarazione vettore

n[0]=2; //alla prima componente(elemento di indice zero del vettore) assegna 2

n[1]=4; //alla seconda componente (elemento di indice 1 del vettore ) assegna 4.

Ho bisogno di lavorare con le componenti del vettore separatamente perche' devo poter modificare nel corso del codice il valore di una componente e mantenere fissa l'altra.Ad esempio ho necessita' che ad un certo punto del codice n[0]=3.5,mentre n[1]=4.Nn riesco a capire se e' sbagliata la dichiarazione del vettore o l'assegnazione delle componenti...

oregon
05-01-2010, 11:15
Fai un po' di confusione sui vettori e sugli array ...

Probabilmente ti serve un "vettore di strutture" ... cosa rappresenterebbero queste "componenti" di cui parli?

ingdeb
05-01-2010, 11:24
Il mio fine e' quello di risolvere un problema di ottimizzazione,devo in pratica trovare il minimo di una funzione bidimensionale.Le componenti del vettore a cui mi riferisco sono le 2 componenti del vettore ''direzione di ricerca''..(che indica appunto la direzione lungo la quale mi devo muovere per trovare il minimo della funzione).

oregon
05-01-2010, 11:29
Quindi sono due valori reali di un vettore?

Dovrai dichiarare una struttura del tipo



struct compo
{
double c1;
double c2
};


e un vettore come



struct compo v[100];


e potrai accedere alle due componenti di cui parli con

v[0].c1 = 2;
v[0].c2 = 4;

per ogni elemento del vettore

ingdeb
06-01-2010, 15:06
Grazie...problema risolto!

Loading