Advertisement
Guest User

Esame.c

a guest
Aug 12th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.21 KB | None | 0 0
  1. /*Dato un insieme di oggetti, ognuno identificato da peso e valore, si definisca la
  2. struttura dati per memorizzare i singoli oggetti. Si scriva quindi una funzione in C che,
  3. dato l’insieme ed un numero N, scelga gli N migliori oggetti dall’insieme ottimizzando
  4. il rapporto valore/peso degli oggetti scelti (gli N oggetti a più alto rapporto valore/peso)*/
  5.  
  6. #include <stdio.h>
  7. #define DIM 6
  8.  
  9. typedef struct
  10. {
  11.     float valore;
  12.     float peso;
  13. }numero;
  14.  
  15. void funzione(numero* );
  16. int main()
  17. {
  18.     int i;
  19.     numero array[DIM];
  20.  
  21.     for(i=0; i<DIM; i++)
  22.     {
  23.         printf("numero (%d):\n", i);
  24.         scanf("%f", &array[i].valore);
  25.         scanf("%f", &array[i].peso);
  26.     }
  27.  
  28.     funzione(array);
  29. }
  30.  
  31. void funzione(numero* a)
  32. {
  33.     float maxv;
  34.     float maxp;
  35.     int i,j;
  36.  
  37.     for(i=0; i<DIM; i++)
  38.     {
  39.         for(j=i+1; j<DIM; j++)
  40.         {
  41.             if((a[i].valore/a[i].peso)>(a[j].valore/a[j].peso))
  42.             {
  43.                 maxv=a[i].valore;
  44.                 maxp=a[i].peso;
  45.             }
  46.         }
  47.  
  48.     }
  49.  
  50.     printf("I numeri corrispondenti sono:\n");
  51.     printf("Il valore massimo e': %d", maxv);
  52.     printf("\n");
  53.     printf("Il peso massimo e': %d", maxp);
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement