Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void f (char, float, float, float *, float *);
- float cpwr (float, float);
- void srt (float[][4], int);
- int
- main ()
- {
- char kind;
- int i = 0, j, n = 0;
- float x[100][4], res, vol, ia, pwr, am, sm = 0, avg;
- FILE * in;
- in = fopen ("Electric.txt", "r");
- while (fscanf (in, " %c%f%f", &kind, &am, &ia) != EOF)
- {
- f (kind, am, ia, &res, &vol);
- pwr = cpwr (vol, ia);
- n++;
- x[i][0] = pwr;
- x[i][1] = ia;
- x[i][2] = vol;
- x[i][3] = res;
- sm += x[i][0];
- i++;
- }
- srt (x, n);
- avg = sm / n;
- printf ("Average pwr=%4.4f\n", avg);
- for (i = 0; i < n; i++)
- {
- printf ("Device#%d\tp=%4.4f\tia=%4.4f\tVolt=%4.4f\tResistance=%4.4f\n",
- i + 1, x[i][0], x[i][1], x[i][2], x[i][3]);
- }
- fclose (in);
- return 0;
- }
- float
- cpwr (float v, float c)
- {
- float pwr;
- pwr = v * c;
- return pwr;
- }
- void
- srt (float p[][4], int s)
- {
- int i, j, k;
- float temp;
- for (i = 0; i < s; i++)
- {
- for (j = i + 1; j < s; j++)
- {
- if (p[i][0] > p[j][0])
- {
- for (k = 0; k < 4; k++)
- {
- temp = p[i][k];
- p[i][k] = p[j][k];
- p[j][k] = temp;
- }
- }
- }
- }
- }
- void
- f (char x, float y, float z, float *r, float *v)
- {
- switch (x)
- {
- case 'V':
- *r = y / z;
- *v = y;
- break;
- case 'R':
- *v = y * z;
- *r = y;
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment