neznam zasto nece da radi?!!!
moze li netko pogledat di je greska?
:oops:
[code:1]
#include<stdio.h>
#include<stdlib.h>
typedef struct _duzina{
double x0,x1,y0,y1;
struct _duzina *next;
} duzina;
duzina *dnp(duzina *prvi,double x0,double x1,double y0,double y1)
{
duzina *novi;
novi=(duzina *)malloc(sizeof(duzina));
novi->x0=x0;
novi->x1=x1;
novi->y0=y0;
novi->y1=y1;
novi->next=prvi;
prvi=novi;
return prvi;
}
double duljina( duzina *d){
return ((d->x0-d->x1)*(d->x0-d->x1)+(d->y0-d->y1)*(d->y0-d->y1));
}
duzina *izbaci( duzina *prvi)
{ duzina *pom,*preth=NULL;
int br=0;
for(pom=prvi;pom!=NULL;)
{
if(duljina(pom)==duljina(pom->next))
{br++;
if(preth==NULL)
{ prvi=pom->next;
free(pom);
pom=prvi;
}
else{
preth->next=pom->next;
free(pom);
pom=preth->next;
}
}
else
{
preth=pom;
pom=pom->next;
}
}
duzina *novi;
novi=(duzina *)malloc(sizeof(duzina));
novi->x0=br;
novi->x1=0;
novi->y0=0;
novi->y1=0;
novi->next=prvi;
prvi=novi;
return prvi;
}
int main()
{
duzina *pom,*prvi=NULL;
while(1)
{
double a0 , b0,a1,b1;
scanf("%lg %lg %lg %lg",&a0,&a1,&b0,&b1);
if(a1==0&&a0==0&&b0==0&&b1==0)
break;
prvi=dnp(prvi,a0,a1,b0,b1);
}
for(pom=prvi;pom!=NULL;pom=pom->next)
printf("(%lg, %lg, %lg, %lg)\n", pom->x0,pom->x1,pom->y0,pom->y1);
prvi=izbaci(prvi);
for(pom=prvi;pom!=NULL;pom=pom->next)
printf("(%lg, %lg, %lg, %lg)\n",pom->x0,pom->x1,pom->y0,pom->y1);
scanf("%%");
return 0;
}
[/code:1]
neznam zasto nece da radi?!!!
moze li netko pogledat di je greska?
Kod: |
#include<stdio.h>
#include<stdlib.h>
typedef struct _duzina{
double x0,x1,y0,y1;
struct _duzina *next;
} duzina;
duzina *dnp(duzina *prvi,double x0,double x1,double y0,double y1)
{
duzina *novi;
novi=(duzina *)malloc(sizeof(duzina));
novi->x0=x0;
novi->x1=x1;
novi->y0=y0;
novi->y1=y1;
novi->next=prvi;
prvi=novi;
return prvi;
}
double duljina( duzina *d){
return ((d->x0-d->x1)*(d->x0-d->x1)+(d->y0-d->y1)*(d->y0-d->y1));
}
duzina *izbaci( duzina *prvi)
{ duzina *pom,*preth=NULL;
int br=0;
for(pom=prvi;pom!=NULL;)
{
if(duljina(pom)==duljina(pom->next))
{br++;
if(preth==NULL)
{ prvi=pom->next;
free(pom);
pom=prvi;
}
else{
preth->next=pom->next;
free(pom);
pom=preth->next;
}
}
else
{
preth=pom;
pom=pom->next;
}
}
duzina *novi;
novi=(duzina *)malloc(sizeof(duzina));
novi->x0=br;
novi->x1=0;
novi->y0=0;
novi->y1=0;
novi->next=prvi;
prvi=novi;
return prvi;
}
int main()
{
duzina *pom,*prvi=NULL;
while(1)
{
double a0 , b0,a1,b1;
scanf("%lg %lg %lg %lg",&a0,&a1,&b0,&b1);
if(a1==0&&a0==0&&b0==0&&b1==0)
break;
prvi=dnp(prvi,a0,a1,b0,b1);
}
for(pom=prvi;pom!=NULL;pom=pom->next)
printf("(%lg, %lg, %lg, %lg)\n", pom->x0,pom->x1,pom->y0,pom->y1);
prvi=izbaci(prvi);
for(pom=prvi;pom!=NULL;pom=pom->next)
printf("(%lg, %lg, %lg, %lg)\n",pom->x0,pom->x1,pom->y0,pom->y1);
scanf("%%");
return 0;
}
|
|