![]() Ласло Краус |
Програмирање II Други колоквијум 7. 6. 2001 |
---|
Саставити на језику C главни програм који израчунава и исписује n!, где се n чита преко главног улаза.
Саставити на језику C главни програм који прочита низ реалних бројева, образује скуп од елемената тог низа, испише добијени резултат, уништи листу и понавља претходне кораке све док за дужину низа не прочита недозвољену вредност.
ggggrrrr
, g
- година уписа, r
- регистарски број), ознаку одсека (низ од највише 4 знака), презиме и име (низ од највише 20 знакова), годину студија (кратак цео број), број полаганих испита (кратак цео број) и добијене оцене (низ од највише 30 кратких целих бројева). Саставити на језику C главни програм за стварање две нове датотеке од коијх у једној се налазе записи о студентима који немају неположене испите а у другој датотеци записи о осталим студентима.
/* velceo.h */
void mnozi (char niz[], int n, int k);
void pisi (const char niz[], int n);
/* velceo.c */
#include "velceo.h"
#include <stdio.h>
void mnozi (char niz[], int n, int k) {
int i, prenos=0;
for (i=0; i<n; i++) {
prenos += niz[i] * k;
niz[i] = prenos % 10;
prenos /= 10;
}
}
void pisi (const char niz[], int n) {
int i, prvi=1;
for (i=n-1; i>=0; i--) {
if (!prvi || niz[i]) {
putchar (niz[i]+'0');
prvi = 0;
}
}
}
/* nfakt.c */
#include "velceo.h"
#include <stdio.h>
#define N 100
void main () {
char broj[N] = {0}; int i, n;
printf ("n? "); scanf ("%d", &n);
broj[0] = 1;
for (i=2; i<n; i++) mnozi (broj, N, i);
printf ("n!= "); pisi (broj, N); putchar ('\n');
}
#include <stdlib.h>
#include <stdio.h>
typedef struct elem
{ float br; struct elem *sl; } Elem;
Elem *skup (const float niz[], int n) {
Elem *prvi=0; int i, j;
for (i=0; i<n; i++) {
for (j=i+1; j<n; j++) if (niz[j] == niz[i]) break;
if (j == n) {
Elem *novi = malloc(sizeof(Elem));
novi->br = niz[i];
novi->sl = prvi;
prvi = novi;
}
}
return prvi;
}
#denfine N 30
void main () {
while (1) {
int n,i; float niz[N]; Elem *s,*tek;
printf ("n? "); scanf ("%d", &n);
if (n<=0 || n>N) break;
printf ("Niz? ");
for (i=0;i<n;scanf("%f",&niz[i++]));
s = skup (niz, n);
printf ("Skup= ");
for (tek=s; tek; tek=tek->sl) printf ("%.2f ", tek->br);
putchar ('\n');
while (s) {
Elem *stari = s;
s = s->sl;
free (stari);
}
}
}
#include <stdio.h>
typedef struct {
long ind;
char ods[5], ime[21];
short god, n, oce[30];
} Stud;
void main () {
Stud st; int i;
FILE *stu = fopen("stud.dat", "rb"),
*jak = fopen("jaki.dat", "wb"),
*sla = fopen("slabi.dat","wb");
while (!eof (stu)) {
fread (&st, sizeof(Stud), 1, stu);
for (i=0; i<st.n; i++) if (st.oce[i]<6) break;
fwrite (&st, sizeof(Stud), 1, (i<n ? sla : jak) );
}
}
(садржај)
Copyright © 2003, Laslo Kraus
Последња ревизија: 16.4.2003.