Programma che si blocca e non capisco il perchè

di il
2 risposte

Programma che si blocca e non capisco il perchè


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,pesmax, cont, cont1, pos=0;
    float pesotot=0,valtot=0;
    printf("Inserisci il numero di oggetti:\n");
    scanf("%d", &n);
    printf("Inserisci il peso massimo dello zaino:\n");
    scanf("%d", &pesmax);
    float peso[n], valore[n], rapvalpes[n];
    for(cont=0;cont<n;cont++)
    {
        printf("Inserisci il peso del oggetto %d\n", cont+1);
        scanf("%f", &peso[cont]);
        printf("Inserisci il valore del oggetto %d\n", cont+1);
        scanf("%f", &valore[cont]);
    }
    for(cont=0;cont<n;cont++)
        rapvalpes[cont]=valore[cont]/peso[cont];

    for(cont=0;cont<n;cont++)
        printf("%.2f ", peso[cont]);
    printf("\n");
    for(cont=0;cont<n;cont++)
        printf("%.2f ", rapvalpes[cont]);
    //for(cont=0;cont<n;cont++)
    //{
        for(cont1=0;cont1<n;cont++)
        {
            if(rapvalpes[cont1]>rapvalpes[pos])
                pos=cont1;
           else if(rapvalpes[cont1]==rapvalpes[pos] && cont1!=0)
            {
                if(peso[cont1]<peso[pos])
                    pos=cont1;
            }
        }
        printf("%d", pos);
    //}
    return 0;
}
Questo è il codice e mi serve per ottenere la posizione del valore con il rapporto valore/peso maggiore ma dopo avermi stampato l'array rapvalpes si ferma e il cursore rimane fermo

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte