Ласло Краус |
Програмски језици (ЕГ) Испит 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.