[C] Menù, passaggio vettori da una funzione all'altra

di il
5 risposte

[C] Menù, passaggio vettori da una funzione all'altra

Ciao a tutti, volevo realizzare un menù in gradi di realizzare più operazioni su di un vettore ma non riesco a far passare il vettore tra una funzione e l'altra, potreste spiegarmi dove sbaglio? Grazie

#include<stdio.h>
int menu();
void iniziazione();
void ordinamento(int *);
void ricerca_binaria();


int main(){
	menu;
	
}


void gestione_sequenza(void){
	int scelta, *pf;
	printf("1-inizializzazione \n 2-ordinamento \n 3-ricerca valore  \n 0-fine");
	do{
		printf("scegli un opzione");
		scanf("%d",& scelta);
		switch(scelta){
			case 1:
				iniziazione();
				break;
				return *pf;
			case 2:
				ordinamento(*pf);
				break;
			case 3:
				ricerca_binaria();
				break;
			case 0:
				return;
				break;
			default:
				printf("valore non valido");	
		}
	}
	while(scelta!=0);
}

void iniziazione(){
	int i,n, *pf;
	printf("quanti valori ha il vettore?");
	scanf("%d",& n);
	int vet[n];
	for(i=0;i<n;i++){
		printf("inserisci un elemento");
		scanf("%d",& vet[i]);
	}
	pf=&vet[0];
	return *pf;
}

void ordinamento(int *){
	int k,i,n,temp, *pf;
	do{
                k=0;
                for(pf=0;pf<n-1;pf++){
                        if(vet[pf]>vet[pf+1]){
                                temp=vet[pf];
				vet[pf]=vet[pf+1];
                                vet[pf+1]=temp;
                                k=1;
						}
				}
        }
        while(k==1);
        for(i=0;i<n;i++){
                printf("%d\n",vet[i]);
        }
}
PS non ho la possibilità di provarlo in real time mi potreste scrivere quindi le parte di codice sbagliate con la relativa correzione. Grazie di nuovo in anticipo

5 Risposte

  • Re: [C] Menù, passaggio vettori da una funzione all'altra

    Ci un sacco d'errori (a cominciare da iniziazione al posto di inizializzazione).

    Devi allocare dinamicamente il vettore con malloc e restituire il puntatore. Il puntatore lo passi alle funzioni.
  • Re: [C] Menù, passaggio vettori da una funzione all'altra

    oregon ha scritto:


    Ci un sacco d'errori (a cominciare da iniziazione al posto di inizializzazione).

    Devi allocare dinamicamente il vettore con malloc e restituire il puntatore. Il puntatore lo passi alle funzioni.
    Grazie,
    si i refusi ci sono, non è un codice che ho scritto personalmente. Mi puoi far vedere un esempio di quello che mi stai dicendo dei puntatori scritto in codice così da poterci capire qualcosa di più?
  • Re: [C] Menù, passaggio vettori da una funzione all'altra

    Non si chiede codice come se fossi ad un corso, anche perché non impareresti nulla non capendo cosa è scritto.

    Tu devi porre domande sul funzionamento del tuo codice e studiare argomento per argomento dai libri. Non si usa così il forum.
  • Re: [C] Menù, passaggio vettori da una funzione all'altra

    oregon ha scritto:


    Non si chiede codice come se fossi ad un corso, anche perché non impareresti nulla non capendo cosa è scritto.

    Tu devi porre domande sul funzionamento del tuo codice e studiare argomento per argomento dai libri. Non si usa così il forum.
    ok scusa, ti posso almeno chiedere la malloc e per il il fatto che l'array non ha una dimensione fissa? se usassi un array di dimensione fissa cambierebbe qualcosa? i puntatori immagino che dovrei comunque utilizzarli..
  • Re: [C] Menù, passaggio vettori da una funzione all'altra

    Ma tu l'hai studiato gli array? I puntatori? L'allocazione dinamica della memoria? Pensi che vari capitoli di libro da studiare si possano riassumere in una risposta?

    Ti ripeto questo non è un corso di C !

    Fai una domanda precisa di roba che hai studiato e non capito con relativo codice che ha errori. Il resto fallo sui libri !
Devi accedere o registrarti per scrivere nel forum
5 risposte