Ласло Краус |
Програмски језици (ЕГ) Испит 9. 10. 2004. |
---|
Саставити на језику C потпрограм за израчунаваље средње вредности оних елемената низа реалних бројева који се појављују и у задатом другом низу.
Саставити на језику C главни програм који прочита два низа реалних бројева, позива горњи потпрограм, испише добијени резултат и понавља претходне кораке све док за дужину једног од низова не прочита недозвољену вредност.
Саставити на језику C главни програм којим се из правоугаоне матрице целих бројева издвоји подматрица задатих димензија са задатим индексима горњег левог угла у почетној матрици. Претпоставити да су параметри издвајања исправни, тј. да нњима одређена подматрица не „вири” изван почетне матрице. Подаци о почетној матрици се налазе у секвенцијалној текстуалној датотеци. Положај и димензије подматрице читати преко главног улаза. Резултат треба уписати у другу текстуалну секвенцијалну датотеку.
Саставити на језику FORTRAN потпрограм којим се од два низа реалних бројева једнаких дужина A = (a1, a2, …, an) и B = (b1, b2, …, bn) образује низ C = (a1, b1, a2, b2, …, an, bn).
Саставити на језику FORTRAN главни програм који прочита два низа, позива горњи потпрограм, испише добијени резултат и понавља претходне кораке све док за дужину низова не прочита недозвољену вредност.
#include <stdio.h> #include <math.h> #define N 50 double srvr (float a[], int m, float b[], int n) { float s=0; int i, j, k=0; for (i=0; i<m; i++) { for (j=0; j<n && a[i]!=b[j]; j++); if (j < n) { s += a[i]; k++; } } if (k) s /= k; return s; } main () { float a[N], n[N]; int i, m, n; while (1) { printf ("m? "); scanf ("%d", &m); if (m<=0 || m>N) break; printf ("A? "); for (i=0; i<m; scanf("%f",&a[i++])); printf ("n? "); scanf ("%d", &n); if (n<=0 || n>N) break; printf ("B? "); for (i=0; i<n; scanf("%f",&b[i++])); printf("srvr= %f\n\n",srvr(a,m,b,n)); } }
#include <stdio.h> #define N 30 main () { int i, j, m, n, a[N][N], b[N][N], p, q, s, v; FILE *dat; dat = fopen ("ulaz.txt", "r"); fscanf (dat, "%d%d", &m, &n); for (i=0; i<m; i++) for (j=0; j<n; fscanf(dat,"%d",a[i][j++])); fclose (dat); printf ("Gornji levi ugao? "); scanf ("%d%d", &p, &q); printf ("Visina i sirina? "); scanf ("%d%d", &v, &s); for (i=0; i<v; i++) for (j=0; j<s; j++) b[i][j] = a[p+i][q+j]; dat = fopen ("izlaz.txt", "w"); fprintf (dat, "%d %d\n", v, s); for (i=0; i<v; i++) { for (j=0; j<s; fprintf(dat,"%d ",b[i][j++])); fputc ('\n', dat); } }
SUBROUTINE Slozi (A, B, m, C, n) REAL A(m), B(m), C(2*m) DO i = 1, m C(2*i-1) = A(i) C(2*i ) = B(i) END DO n = m + m END PROGRAM Slaganje PARAMETER (nmax = 20) REAL A(nmax), B(nmax), C(2*nmax) 10 CONTINUE PRINT *, 'm?' READ *, m IF(m.LE.0 .OR. m.GT.nmax)GO TO 99 PRINT *, 'A?' READ *, (A(i), i=1,m) PRINT *, 'B?' READ *, (B(i), i=1,m) CALL Slozi (A, B, m, C, n) PRINT *, 'C=' PRINT *, (C(i), i=1,n) GO TO 10 99 CONTINUE END(⇒ почетак)
Copyright © 2005, Laslo Kraus
Последња ревизија: 9.2.2005.