Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Ricerca del valore minimo in un vettore

    Ciao! Devo trovare il valore minimo in un vettore, io ho provato a scrivere questo programma mi mi dà come valore minimo 0 che è sbagliato...
    codice:
    #include <stdio.h>
    
    
    int indiceDelMinimo(int *vet, int dim, int i)
    {
        i=0;
        int min;
        for(i=0; i<dim; i++)
        {
                 if(min>vet[i])
                 {
                               vet[i]=min;
                 }
        }
        return min;
    }
    
    
    int main()
    {
        int vet[12]={1, 2, 3, 4, 5, 6, 7, 8, 9};
        int dim;
        dim=5;
        int index;
        index=3;
        int ris;
        int i;
        i=0;
        ris=indiceDelMinimo(&vet[3], dim, i); 
        printf("Il valore minimo e' %d", ris);
    }
    Grazie davvero
    Ultima modifica di MItaly; 19-07-2014 a 17:37

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,476
    1) a che serve index ?
    2) perché dim è uguale a 5 se hai 9 elementi?
    3) perchè un vettore di 12 se hai 9 elementi?
    4) che serve passare i (terzo parametro nella funzione) ?
    5) min deve avere un valore iniziale. Devi assegnare un valore molto grande
    6) non deve essere vet[i]=min; ma dim=vet[i];
    7) perché la funzione si chiama
    indiceDelMinimo ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Mai vista un'accozzaglia di variabili inutilizzate e/o assegnate a caso del genere.

    codice:
    #include<stdio.h>
    
    int indiceDelMinimo(int*vet,int dim)
    {
        int i=0;
        int min=900; //valore alto rispetto ai valori che hai messo tu nell'array
        for(i=0; i<dim; i++)
        {
                 if(min>vet[i])
                 {
                               min=vet[i];
                 }
        }
        return min;
    }
    
    int main(){
        int vet[9] = {1,2,3,4,5,6,7,8,9}; //gli elementi sono 9
        int dim = 9; //idem, gli elementi sono 9
    int ris;
        ris=indiceDelMinimo(vet, dim); //basta passargli vet (contiene indirizzo primo elemento, perchè proprio &vet[3] avevi messo?
        printf("Il valore minimo e' %d", ris);
    }
    
    Rimane il mistero posto da Oregon: perchè la funzione si chiama indiceDelMinimo se ritorna il valore del minimo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.