Elektrotehnicki fakultet, Beograd  Ласло Краус Програмски језици (ЕГ)
Испит
6. 5. 2001.

Скреће се пажња студентима да домаћи задатак треба да буде одштампан на рачунару, по могућству у облику извештаја преводиоца и са приложеним примером извршавања програма.

Аутори: Зоран Аврамовић (задатак 1) и Ласло Краус (задатак 2 са решењем)

Задаци: 1 2 | Напомене | Решења: 2

Поставка задатка 1 (45 поена) ( почетак)

Начинити програм на FORTRAN-у за налажење првих n простих бројева.

Посебни подаци: n = 20

Потребно је штампати учитане податке, добијени резултат, потребне описне текстове, име и презиме, регистарски број и назив факултета.

Поставка задатка 2 (35 поена) ( решење | почетак)

Саставити на језику C потпрограм за формирање новог низа реалних бројева пермутовањем елемената задатог низа реалних бројева на основу задатог целобројног пермутационог низа. Пермутациони низ на i-том месту садржи индекс места у резултујућем низу на који треба преместити i-ти елемент прочетног низа. На пример, низ (1.1, 2.2, 3.3, 4.4, 5.5, 6.6) за случај пермутационог низа (3, 5, 1, 2, 6, 4) треба претворити у низ (3.3, 4.4, 1.1, 6.6, 2.2, 5.5).

Саставити на језику C главни програм који чита парове низова (низ реалних бројева и пермутациони низ) преко главног улаза, позове горњи потпрограм и исписује добијени резултат све док за дужину неког од низова не прочита недозвољену вредност.


Напомене ( почетак)


Решење задатка 2 ( поставка | почетак)

#include <stdio.h>

#define NMAX 50

void permut (float a[], int p[], float b[], int n) {
  int i;
  for (i=0; i<n; i++) b[p[i]] = a[i];
}

void main () {
float a[NMAX], b[NMAX]; int p[NMAX], n, i;
  while (1) {
    printf ("n? "); scanf ("%d", &n);
  if (n<0 || n>NMAX) break;
    printf ("A? "); for (i=0; i<n; scanf("%f", &a[i++]);
    printf ("P? "); for (i=0; i<n; scanf("%d", &p[i++]);
    redukcija (a, p, b, n);
    printf ("B= "); for (i=0; i<n; printf("%.2f ", b[i++]);
  }
}
( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

Copyright © 2001, Laslo Kraus
Последња ревизија: 15.7.2001.