Passa al tema normale
Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

[C] Problema con gli array

11/01/2021, 19:41

Salve ho un esercizio nel quale mi viene richiesto questo:

"Attraverso una funzione denominata genconv generare in maniera casuale una coppia di coordinate
$(x_i, y_i)$, e salvarle in un vettore denominato pcoord di tipo e dimensioni opportune."

Io per generare le coordinate x e y e assegnarle a un vettore ho sempre utilizzato due array separati. In questo caso come devo fare? Utilizzare un array bidimensionale?

Grazie e buona serata.

Re: [C] Problema con gli array

11/01/2021, 21:28

SimoneSc ha scritto:In questo caso come devo fare? Utilizzare un array bidimensionale?

Ciao, effettivamente la cosa più semplice potrebbe essere utilizzare una matrice 2xN, ma volendo puoi anche utilizzare un vettore di 2N elementi in cui le coppie di coordinate possono essere associate in vario modo:
- x y x y x y x y x y
- x x x x x y y y y y
...

P.S.
Non hai ancora studiato le struct?

Re: [C] Problema con gli array

12/01/2021, 18:47

No purtroppo non l'ho ancora fatte. Credo che proverò a salvare in un unico array perché poi devo verificare che queste coordinate rispetto determinate condizioni e non saprei come farlo con un array bidimensionale :(

Infatti dovrei riuscire a scrivere una funzione che mi genera delle coordinate x e y casuali e le salva appunto in questo array chiamato pcoord e poi dovrei scrivere un'altra funzione che prende in input questo array e verifica delle condizioni.

Se mi deste un input dal quale partire ve ne sarei grato!

Re: [C] Problema con gli array

13/01/2021, 15:03

In sostanza suppongo che tu debba creare una funzione dichiarata come:
Codice:
void genconv( unsigned int N, int pcoord[], unsigned int pcoordSize );

o anche senza pcoordSize. Sbaglio? Il valore di ritorno potrebbe anche essere qualche forma di segnalazione di eventuali errori.

Nota che si deve avere N * 2 <= pcoordSize.

Per usare un array di vettori bidimensionali, basterebbe esare:
Codice:
void genconv( unsigned int N, int pcoord[][2], unsigned int pcoordSize );


Dal punto di vista del codice assembly creato non dovrebbe cambiare nulla.
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.