Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define tada media
  5.  
  6. typedef struct {
  7.     int f;
  8.     int p;
  9.     int con;
  10.     int cm;
  11. } city;
  12.  
  13.  
  14. double lercity(city v[], int n){
  15.     int i, ct = 0;
  16.     double tada = 0, pt = 0, inteiro, frac;
  17.     for(i = 0; i < n; i++){
  18.         scanf("%d %d", &v[i].p, &v[i].con);
  19.         pt += v[i].p;
  20.         ct += v[i].con;
  21.         v[i].cm = (v[i].con)/(v[i].p);
  22.         v[i].f = 1;
  23.     }
  24.     tada = (ct/pt);
  25.    
  26.         inteiro = (int)media;
  27.         frac = media - inteiro;
  28.         frac = frac*100;
  29.         inteiro = inteiro*100;
  30.         media = inteiro+(int)frac;
  31.         media = media/100;
  32.    
  33.     return tada;
  34.    
  35. }
  36.  
  37. int cmp(const void* a, const void* b){
  38.     city* p1 = (city*) a;
  39.     city* p2 = (city*) b;
  40.    
  41.     if(p1->cm < p2->cm) return -1;
  42.     else return 1;
  43.     }
  44.  
  45. int main(){
  46.     int n, i = 0, j;
  47.     double tada;
  48.     scanf("%d", &n);
  49.     while(n){
  50.         if(i != 0) printf("\n");
  51.         i++;
  52.         city v[n];
  53.         tada = lercity(v, n);
  54.        
  55.         qsort(v, n, sizeof(city), cmp);
  56.        
  57.         for(j = 0; j < n-1; j++){
  58.            
  59.             if(v[j]. cm == v[j+1].cm){
  60.                 v[j].f = 0;
  61.                 v[j+1].p += v[j].p;
  62.             }
  63.         }
  64.        
  65.         printf("Cidade# %d:\n", i);
  66.         if(v[0].f == 1)
  67.         printf("%d-%d", v[0].p, v[0].cm);
  68.         for(j = 1; j < n; j++){
  69.             if(v[j]. f == 1)
  70.             printf(" %d-%d", v[j].p, v[j].cm);
  71.         }
  72.         printf("\nConsumo medio: %.2lf m3.\n", tada);
  73.        
  74.         scanf("%d", &n);
  75.     }
  76.     return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement