18.05.2009., 21:49
|
#6
|
Premium
Datum registracije: Dec 2008
Lokacija: Zagreb
Postovi: 31
|
Citiraj:
Autor Imamic23
ne, ja koristin (float) rand()/(float)(GG-DG+1)+DG
jer moramo generirat float brojeve u polje...
|
Aha, al jos uvijek mi nije jasno kako onaj tko ti je zadao zadatak misli ispitat parnost broja iz skupa R?
EDIT:
Evo frend me nazico da mu rijesim taj zadatak, ocito je to DZ na TVZ-u, kolegij programiranje. Napravio sam tako da provjerim da li je cijeli dio broja paran, neznam kako bi drugacije.
Code:
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
#define ranrange(a, b) ((a) + rand()/(RAND_MAX + 1.0) * ((b) - (a) + 1))
#define GG 30.
#define DG 10.
#define LOW 3
#define HIGH 30
void prov(float *p1, float *p2, float *p3, int *np, int *nn, int n) {
int i=0,k;
*np=0; *nn=0;
for (i=0;i<n;i++) {
k= (int) *(p1+i);
if (!(k%2)) {
*(p2+(*np)) = *(p1+i);
(*np)++;
}
else {
*(p3+(*nn))=*(p1+i);
(*nn)++;
}
}
}
int main(void) {
int i, n, pk, pn;
float *ar,*par,*nep;
srand(time(NULL));
do {
printf("Unesite velicinu polja\n");
scanf("%d", &n);
}
while (n<LOW || n>HIGH);
ar=(float *) malloc(n*sizeof(float));
par=(float *) malloc(n*sizeof(float));
nep=(float *) malloc(n*sizeof(float));
for (i=0;i<n;i++) {
*(ar+i) = ranrange(GG,DG);
printf("%f\t", *(ar+i));
}
prov(ar,par,nep,&pk,&pn,n);
printf("\nParni:\n");
for (i=0; i<pk; i++)
printf("%f\t", *(par+i));
printf("\nNeparni:\n");
for (i=0; i<pn; i++)
printf("%f\t", *(nep+i));
free(ar);
free(par);
free(nep);
return 0;
}
Malo je glup, zauzima previse memorije, koristi visak varijabli, ali mi ga se ne da optimizirat 
Zadnje izmijenjeno od: _hmp_. 19.05.2009. u 10:19.
|
|
|