#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