PDA

Visualizza la versione completa : [C++] Ordinamento vettore in una funzione


ciruxis
26-04-2018, 17:24
Salve ragazza, Ho un problema con una programmazione che consiste in:
Riempire un vettore random nella funzione principale (main) e ordinarlo con il metodo dell'ordinamento per selezione. l'ordinamento però deve avvenire in una funzione a parte. Come faccio?
Grazie in anticipo :D

torn24
27-04-2018, 07:29
Ciao, ti creerai una funzione che accetta come parametro un array o puntatore.
Gli array sono passati sempre per indirizzo, quindi le modifiche che farai all'array nella funzioni "si vedranno anche nel main".

Detto ciò, è chiaro che la soluzione è identica sia che tu metta tutto il codice nel main, sia se separi l'ordinamento in una funzione.





int main(){
int vettore[]={5,6,3,8};
ordinamento(vettore);

}

void ordinamento(int *vettore){

//Ordino l'array come fosse nel main()
}

ciruxis
27-04-2018, 14:45
Perfetto grazie mille ��

MItaly
27-04-2018, 15:32
//Ordino l'array come fosse nel main()
Non proprio... dovrai anche passare le dimensioni dell'array.

torn24
27-04-2018, 16:22
Ciao Mltaly, :) non ho bene presente cosa intente per vettore random, io intendo un vettore di dimensione conosciuta riempito con valori casuali. Conoscendo a priori la dimensione non ho pensato di passarla alla funzione. :)

MItaly
28-04-2018, 01:17
Quello che dico è che non ha nessun senso scrivere una funzione di ordinamento che si fa passare un array come parametro ma solo se è lungo 37 elementi. Se è parametro l'array sarà parametro anche quanto è lungo - sennò che genere di riuso vuoi ottenere a tenere la funzione di ordinamento separata se poi di fatto funziona solo ed esclusivamente con le dimensioni dell'array del main?

Loading