![]() Ласло Краус |
Програмирање II Допунски колоквијум 17. 5. 2000 |
---|
long
. Низ бројева сместити у динамичку зону меморије.
Програм треба да прочита низ бројева, прочита низ битова као један
хексадецимални број, изврши тражену обраду (независно од читања и писања
података), испише добијени резултат и понавља претходне кораке све док
за дужину низа не прочита недозвољену вредност.
#include <stdio.h>
main () {
int n, i, j;
double x, f, g, a, ai, xmin, xmax, dx;
printf ("a? "); scanf ("%lf", &a);
printf ("n? "); scanf ("%d", &n);
printf ("xmin, xmax, dx? ");
scanf ("%lf%lf%lf", &xmin, &xmax, &dx);
printf ("\n x f(x)\n"
"========================\n");
for (x=xmin; x<=xmax; x+=dx) {
for (ai=1, f=i=0; i<=n; i++) {
for (g=1, j=0; j<n; j++)
if (j != i)
g *= (x+i)*(x-j)/abs(i-j);
f += ai * g;
ai *= a;
}
printf ("%12.2f%12.2f\n", x, f);
}
}
#include <stdio.h>
#include <ctype.h>
main () {
int zn, ukupno=0, broj=0;
while ((zn = getchar()) != EOF)
if (zn>='0' && zn<='7') {
broj = broj * 8 + (zn - '0');;
} else {
ukupno += broj; broj = 0;
}
ukupno += broj;
printf ("Zbir brojeva: %o\n", ukupno);
}
#include <stdio.h>
#include <stdlib.h>
main () {
while (1) {
float *a; int n, i, j;
unsigned long b, m;
printf ("\nn? "); scanf ("%d", &n);
if (n <= 0 || n > 32) break;
a = malloc (n * sizeof (int));
printf ("A? ");
for (i=0; i<n; scanf("%d", &a[i++]);
printf ("Niz bitova (hex) ? ");
scanf ("%lx", &b);
for(m=1UL<<n-1,i=j=0; i<n; m>>=1,i++)
if (b & m) a[j++] = a[i];
a = realloc (a, (n=j)*sizeof(float));
printf ("A=");
for (i=0;i<n;printf(" %.2f",a[i++]));
putchar ('\n');
free (a);
}
}
(садржај)
Copyright © 2000, Laslo Kraus
Последња ревизија: 5.6.2000.