Ласло Краус |
Програмски језици (ЕГ) Испит 15. 2. 2002. |
|---|
Саставити на језику C потпрограм за одређивање бројева елемената целобројног низа који дају остатак 0, 1, ..., k-1 приликом дељења задатим целим бројем k (резултат је низ од k елемената).
Саставити на језику C главни програм који прочита низ целих бројева и неки цели број k, позива горњи потпрограм, испише добијени резултат и понавља претходне кораке све док за дужину низа не прочита недозвољену вредност.
У секвенцијалној текстуалној датотеци у сваком реду се налази један цели број n и n реалних бројева. Саставити на језику C главни програм који у нову секвенцијалну датотеку упише оне редове из почетне датотеке у којима је средња вредност реалних бројева већа од нуле и на крају испише преко главног излаза збир средњих вредности реалних бројева у свим редовима почетне датотеке.
Саставити на језику FORTRAN потпрограм за испитивање да ли је задати позитивни цели број прост.
Саставити на језику FORTRAN главни програм који прочита низ целих бројева, испише разлику збира простих бројева и збира сложених бројева у низу и понавља претходне кораке све док за дужину низа не прочита негативну вредност.
#include <stdio.h>
#define N 50
#define K 20
void broj (int a[], int n, int b[], int k) {
int i;
for (i=0; i<k; b[i++]=0);
for (i=0; i<n; b[a[i++]%k]++);
}
main () {
int a[N], b[K], i, n, k;
while (1) {
printf ("n? "); scanf ("%d", &n);
if (n<=0 || n>N) break;
printf ("A? ");
for (i=0; i<n; scanf("%d", &a[i++]));
printf ("k? "); scanf ("%d", &k);
broj (a, n, b, k);
printf ("B=");
for (i=0; i<k; printf (" %d", b[i++]));
printf ("\n\n");
}
}
#include <stdio.h>
#define N 100
main () {
int i, n;
double a[N], s, z=0;
FILE *ul, *izl;
ul = fopen ("ulaz.txt", "r");
izl = fopen ("izlaz.txt", "w");
while (fscanf(ul,"%d",&n)>0) {
s = 0;
for (i=0; i<n; i++) {
fscanf (ul, "%lf", &a[i]);
s += a[i];
}
if (n) s /= n;
z += s;
if (s > 0) {
fprintf (izl, "%d", n);
for (i=0; i<n; fprintf(izl," %f",a[i++]));
fprintf (izl, "\n");
}
}
printf ("Zbir sr. vr.= %f\n", z);
}
LOGICAL FUNCTION Prost (k)
Prost = .true.
i = 2
DO WHILE (i*i.le.k .and. prost)
prost = mod (k, i) .ne. 0
i = i + 1
END DO
END
PROGRAM Prosti
PARAMETER (max = 20)
INTEGER A(max), zprost, zsloz
LOGICAL Prost
10 CONTINUE
PRINT *, 'n?'
READ *, n
IF (n.le.0 .or. n.gt.max) GO TO 99
zprost = 0
zsloz = 0
PRINT *, 'A?'
READ *, A(i), i=1,n)
DO I = 1, n
IF Prost (A(i)) THEN
zprost = zprost + A(i)
ELSE
zsloz = zsloz + A(i)
END IF
END DO
PRINT *, 'rez = ', zprost-zsloz
GO TO 10
99 CONTINUE
END
(⇒ почетак)
Copyright © 2002, Laslo Kraus
Последња ревизија: 25.4.2002.