Visa elektrotehnicka skola, Beograd
Ласло Краус
Програмирање I
Други колоквијум
28. 1. 2003

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

Поставка задатка 1 (50 поена) (решење | садржај)

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

Поставка задатка 2 (50 поена) (решење | садржај)

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

Поставка задатка 3 (50 поена) (решење | садржај)

Саставити на језику C програм за одређивање броја појављивања појединих слова, не разликујући мала и велика слова, у тексту који се из произвољног броја редова чита преко главног улаза. Текст се завршава сигналом за крај датотеке.


Напоменe (садржај)


Решење задатка 1 (поставка | садржај)

#include <stdio.h>
#define N 50
main () {
  double a[N], b; int n, i, imin, imax;
  while (1) {
    printf ("n? "); scanf ("%d", &n);
  if (n<0 || n>N) break;
    printf ("A? "); for (i=0; i<n; scanf("%lf",a[i++]));
    for(imin=imax=0, i=1; i<n; i++) {
      if (a[i] <  a[imin]) imin = i;
      if (a[i] >= a[imax]) imax = i;
    }
    b = a[imin]; a[imin] = a[imax]; a[imax] = b;
    printf ("A= "); for (i=0; i<n; printf (a[i++]));
    printf ("\n\n");
  }
}

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

#include <stdio.h>
#define N 50
main () {
  int a[N][N], n, i, j, g, s, d;
  while (1) {
    printf ("\nn? "); scanf ("%d", &n);
  if (n<0 || n>N) break;
    printf ("A? ");
    for (i=0; i<n; i++)
      for(j=0; j<n; scanf("%d",&a[i][j++]));
    for (g=s=d=i=0; i<n-1; i++) {
      s += a[i][i];
      for (j=i+1; j<n; j++) {
        g += a[i][j];
        d += a[j][i];
      }
    }
    printf ("Iznad= %d\n", g);
    printf ("Na   = %d\n", s);
    printf ("Ispod= %d\n", d);
}

Решење задатка 3 (поставка | садржај)

#include <stdio.h>
#include <ctype.h>
main {
  int a[26] = {0}, i, z;
  while ((z=getchar()) != EOF)
    if      (isupper (z)) a[z-'A']++;
    else if (islower (z)) a[z-'a']++;
  for (i=0; i<26; i++)
    if (a[i]) printf ("%c %3d\n", i+'a', a[i]);
}
(садржај)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

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