Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define tada media
- typedef struct {
- int f;
- int p;
- int con;
- int cm;
- } city;
- double lercity(city v[], int n){
- int i, ct = 0;
- double tada = 0, pt = 0, inteiro, frac;
- for(i = 0; i < n; i++){
- scanf("%d %d", &v[i].p, &v[i].con);
- pt += v[i].p;
- ct += v[i].con;
- v[i].cm = (v[i].con)/(v[i].p);
- v[i].f = 1;
- }
- tada = (ct/pt);
- inteiro = (int)media;
- frac = media - inteiro;
- frac = frac*100;
- inteiro = inteiro*100;
- media = inteiro+(int)frac;
- media = media/100;
- return tada;
- }
- int cmp(const void* a, const void* b){
- city* p1 = (city*) a;
- city* p2 = (city*) b;
- if(p1->cm < p2->cm) return -1;
- else return 1;
- }
- int main(){
- int n, i = 0, j;
- double tada;
- scanf("%d", &n);
- while(n){
- if(i != 0) printf("\n");
- i++;
- city v[n];
- tada = lercity(v, n);
- qsort(v, n, sizeof(city), cmp);
- for(j = 0; j < n-1; j++){
- if(v[j]. cm == v[j+1].cm){
- v[j].f = 0;
- v[j+1].p += v[j].p;
- }
- }
- printf("Cidade# %d:\n", i);
- if(v[0].f == 1)
- printf("%d-%d", v[0].p, v[0].cm);
- for(j = 1; j < n; j++){
- if(v[j]. f == 1)
- printf(" %d-%d", v[j].p, v[j].cm);
- }
- printf("\nConsumo medio: %.2lf m3.\n", tada);
- scanf("%d", &n);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement