Tekst zadatka:
Zadana je datoteka koordinate.txt u kojoj se u svakom redu nalazi x, y i z
koordinata tocke. Napisati funkciju koja tocke zapisuje u niz struktura. Napisati i
strukturu.Iz maina ispisati koordinate u nizu struktura.
Code:
#include<stdio.h>
#include<stdlib.h>
#define N 5
#define COUNTOF(x) sizeof(x)/sizeof(x[0])
struct koord
{
int x,y,z;
};
void ispis (struct koord k)
{
printf("x: %d ",k.x);
printf("y: %d ",k.y);
printf("z: %d\n",k.z);
}
struct koord* funkcija(FILE* fp,int* i)
{
struct koord* k,*p;
k=(struct koord*)malloc(N*sizeof(struct koord));
while(feof(fp)==0)
{
fscanf(fp,"%d %d %d\n",&k[*i].x,&k[*i].y,&k[*i].z);
*i++;
if(COUNTOF(k)==N-1)
realloc(k,(2*N)*sizeof(struct koord));
}
p=k;
return p;
}
int main(void)
{
struct koord* novi;
int i,brojac=0;
FILE* fp=fopen("koordinate.txt","r");
if(fp==NULL)
{
perror("");
fclose(fp);
}
novi=funkcija(fp,&brojac);
fclose(fp);
for(i=0;i<brojac;i++)
ispis(novi[i]);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#define N 5
#define COUNTOF(x) sizeof(x)/sizeof(x[0])
struct koord
{
int x,y,z;
};
void ispis (struct koord k)
{
printf("x: %d ",k.x);
printf("y: %d ",k.y);
printf("z: %d\n",k.z);
}
struct koord* funkcija(FILE* fp,int* i)
{
struct koord* k,*p;
k=(struct koord*)malloc(N*sizeof(struct koord));
while(feof(fp)==0)
{
fscanf(fp,"%d %d %d\n",&k[*i].x,&k[*i].y,&k[*i].z);
*i++;
if(COUNTOF(k)==N-1)
realloc(k,(2*N)*sizeof(struct koord));
}
p=k;
return p;
}
int main(void)
{
struct koord* novi;
int i,brojac=0;
FILE* fp=fopen("koordinate.txt","r");
if(fp==NULL)
{
perror("");
fclose(fp);
}
novi=funkcija(fp,&brojac);
fclose(fp);
for(i=0;i<brojac;i++)
ispis(novi[i]);
return 0;
}
[Ovu poruku je menjao X Files dana 04.02.2012. u 12:04 GMT+1]