Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Brisanje iz liste duzina (zadatak)
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
heidi75
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 02. 2009. (21:51:01)
Postovi: (8)16
Sarma = la pohva - posuda
= 2 - 2

PostPostano: 19:26 sri, 24. 6. 2009    Naslov: Brisanje iz liste duzina Citirajte i odgovorite

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?
Embarassed
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;
}                                         
                                 
                                 
                                 
   


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan