Ласло Краус |
Програмски језици (ЕГ) Испит 11. 10. 2002. |
---|
Саставити на језику C потпрограм за налажење места првог и последњег појављивања највећег елемента у датом неуређеном низу целих бројева.
Саставити на језику C главни програм који чита прочита низ бројева, позове горњи потпрограм, испише добијене резултате и понавља претходне кораке све док за број елемената низа не прочитра недозвољену вредност.
Саставити на језику C главни програм којим се врши нормирање матрице реалних бројева множећи сваки елемент матрице истим бројем тако да збир апсолутних вредности елемената нормиране матрице буде 1. Подаци о почетној матрици се налазе у секвенцијалној текстуалној датотеци (димензије матрице у првом реду, иза тога свака врста у засебном реду). Резултат треба уписати у другу секвенцијалну текстуалну датотеку. Имена датотека читати преко главног улаза рачунара.
Саставити на језику FORTRAN потпрограм за одређивање бројева елемената у целобројном низу који при дељењу са целим бројем k дају остатке 0, 1, ..., k-1 (резултат је низ од k вредности).
Саставити на језику FORTRAN главни програм који прочита низ целих бројева, прочита број k, позива горњи потпрограм, испише добијени резултат и понавља претходне кораке све док за дужину низа не прочита недозвољену вредност.
#include <stdio.h> #define N 50 void max (int a[], int n, int *prvo, int *posl) { int i, m = a[0]; *prvo = *posl = 0; for (i=1; i<n; i++) { if (a[i] > m) {m=a[i]; *prvo=i; } if (a[i] == m) *posl = i; } } void main () { int a[N], n, i, prvo, posl; while (1) { printf ("n,? "); scanf ("%d", &n); if (n<0 || n>N) break; printf ("a? "); for (i=0; i<n; scanf("%d", &s[i++])); max (a, n, &prvo, &posl); printf ("prvo, posl= %d %d\n", prvo, posl); } }
#include <stdio.h> #include <math.h> #define N 30 main () { int i, j, m, n; float a[N][N], s; FILE *dat; char ime[30]; printf ("Ulaz? "); scanf ("%s", ime); dat = fopen (ime, "r"); fscanf (dat, "%d%d", &m, &n); for (i=0; i<m; i++) for (j=0; j<n; fscanf(dat,"%f",&a[i][j++])); fclose (dat); for (s=i=0; i<m; i++) for (j=0; j<n; s+=fabs(a[i][j++])); for (i=0; i<m; i++) for (j=0; j<n; a[i][j++]/=s); printf ("Izlaz? "); scanf ("%s", ime); dat = fopen (ime, "w"); fprintf (dat, "%d %d\n", m, n); for (i=0; i<m; i++) { for (j=0; j<n; fprintf(dat,"%d ",a[i][j++])); fputc ('\n', dat); } }
SUBROUTINE Brojanje(A, n, B, k) INTEGER A(n), B(0:k-1) DO i = 0, k-1 B(i) = 0 END DO DO i = 1, n j = mod (A(i), k) B(j) = B(j) + 1 END DO END PROGRAM BrojanjeT PARAMETER(nmax = 20, kmax = 15) INTEGER A(nmax), B(0:kmax-1) 10 CONTINUE PRINT *, 'n?' READ *, n IF(n.le.0.or.n.gt.nmax)GO TO 99 PRINT *, 'A?' READ *, (A(i), i=1,n) PRINT *, 'k?' READ *, k Brojanje (A, n, B, k) PRINT *, 'B=' PRINT *, (B(i), i=0,k-1) GO TO 10 99 CONTINUE END(⇒ почетак)
Copyright © 2003, Laslo Kraus
Последња ревизија: 24.2.2003.