Ласло Краус |
Програмски језици (ЕГ) Испит 17. 9. 1999. |
---|
Начинити програм на FORTRAN-у којим се, на основу горње формуле, за полазни cosφ1 од 0,20(0,05)0,50 i od 0,50(0,02)0,98 табелирају вредности потребне реактивне снаге кондензатора у kVAr за 1 kW активне снаге за жељени cosjφ2 у распону 0,60(0,05)1,00 заокругљивањем резултата на три значајне децималне цифре.
Саставити главни програм на језику C који чита парове скупова (низова) преко главног улаза, позове горњи потпрограм и исписује добијени резултат све док за дужину неког од низова не прочита недозвољену вредност.
#include <stdio.h>
void unija (float a[], int na, float b[], int nb, float c[], int *nc) {
int i, j, k;
for (j=k=0; j<nb; c[k++]=b[j++]);
for (i=0; i<na; i++) {
for (j=0; j<nb; i++) if (b[j] == a[i]) break;
if (j == nb) c[k++] = a[i];
}
*nc = k;
}
void main () {
enum { NMAX = 50 };
float a[NMAX], b[NMAX], c[NMAX]; int na, nb, nc, i;
while (1) {
printf ("na, nb? "); scanf ("%d%d", &na, &nb);
if (na<0 || na>NMAX || nb < 0 || nb > NMAX) break;
printf ("A? "); for (i=0; i<na; scanf("%f", &a[i++]);
printf ("B? "); for (i=0; i<nb; scanf("%f", &b[i++]);
unija (a, na, b, nb, c, &nc);
printf ("C= "); for (i=0; i<nc; printf("%.2f ", c[i++]);
putchar ('\n');
}
}
(⇒ почетак)
Copyright © 1999, Laslo Kraus
Последња ревизија: 7.10.1999.