-
C (
http://www.daniweb.com/forums/forum118.html)
| vbcielle | Oct 2nd, 2006 7:48 am | |
| sum of the linked list i want to add all the inserted linked list by using this code
but what happens here if i input 15 then 35 =50 but when i input again 30 the sum is 50whats wrong with my code?
int sum(nd **head){
nd *p,*sum1;
p=*head;
sum1=0;
while(p!=NULL)
{
sum1->x=p->x;
p=p->next;
return sum1->x=sum1->x+p->x;
}
} |
| Ancient Dragon | Oct 2nd, 2006 8:42 am | |
| Re: sum of the linked list why is sum a linked list and not a simple integer?
int sum(nd **head){
nd *pl
int sum1 = 0;
p=*head;
while(p!=NULL)
{
sum1 += p->x;
p=p->next;
}
return sum1;
} |
| vbcielle | Oct 2nd, 2006 9:09 am | |
| Re: sum of the linked list Quote: Originally Posted by Ancient Dragon (Post 258945) why is sum a linked list and not a simple integer?
int sum(nd **head){
nd *pl
int sum1 = 0;
p=*head;
while(p!=NULL)
{
sum1 += p->x;
p=p->next;
}
return sum1;
} | actualy i dont know how to di this ...i tired you code it works :)
how about this one where i want to locate if the linked list is in the lis?
int locate(nd **head,int num){
nd *p;
p=*head;
while(p!=NULL)
{
p=p->next;
if(num==p->x)
return 1;
else
return 0;
}
} |
| Ancient Dragon | Oct 2nd, 2006 9:27 am | |
| Re: sum of the linked list almost there -- the else and return 0 should not be inside the loop. And move p=p->next; to the bottom of the loop. |
| vbcielle | Oct 2nd, 2006 9:45 am | |
| Re: sum of the linked list Quote: Originally Posted by Ancient Dragon (Post 258945) why is sum a linked list and not a simple integer?
int sum(nd **head){
nd *pl
int sum1 = 0;
p=*head;
while(p!=NULL)
{
sum1 += p->x;
p=p->next;
}
return sum1;
} | Quote: Originally Posted by vbcielle (Post 258950) actualy i dont know how to di this ...i tired you code it works :)
how about this one where i want to locate if the linked list is in the lis?
int locate(nd **head,int num){
nd *p;
p=*head;
while(p!=NULL)
{
p=p->next;
if(num==p->x)
return 1;
else
return 0;
}
} | int locate(nd **head,int num){
nd *p;
p=*head;
while(p!=NULL)
{
p=p->next;
}
if(num==p->x)
return 1;
else
return 0;
}
the code above always return to xero |
| Ancient Dragon | Oct 2nd, 2006 10:29 am | |
| Re: sum of the linked list Quote: Originally Posted by vbcielle (Post 258959) int locate(nd **head,int num){
nd *p;
p=*head;
while(p!=NULL)
{
p=p->next;
}
if(num==p->x)
return 1;
else
return 0;
}
the code above always return to xero | Look and think about the logic in the code you posted, pay attention to the while loop. All it does is iterate through the linked list without stopping. The if statement needs to be inside the loop -- I did not tell you to move it outside the loop. The else part shoud not be there at all.
int locate(nd **head,int num){
nd *p;
p=*head;
while(p!=NULL)
{
p=p->next;
if(num==p->x)
return 1;
}
return 0;
} |
| vbcielle | Oct 3rd, 2006 3:30 am | |
| Re: sum of the linked list Quote: Originally Posted by Ancient Dragon (Post 258972) Look and think about the logic in the code you posted, pay attention to the while loop. All it does is iterate through the linked list without stopping. The if statement needs to be inside the loop -- I did not tell you to move it outside the loop. The else part shoud not be there at all.
int locate(nd **head,int num){
nd *p;
p=*head;
while(p!=NULL)
{
p=p->next;
if(num==p->x)
return 1;
}
return 0;
} |
thankls it work :):cheesy: |
| All times are GMT -4. The time now is 6:20 pm. | |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC