#include <stdio.h>
struct list
{
int data;
struct list *next;
};
typedef struct list node;
int find_even(node *head) ///find even
{
node *temp = head;
printf("
Even Value:
");
while(temp!=NULL)
{
if(temp->data%2==0)
{
printf("%d ",temp->data);
temp= temp->next;
}
else temp = temp->next;
}
return;
}
int find_odd(node *head) ///find odd
{
node *temp = head;
printf("
Odd Value:
");
while(temp!=NULL)
{
if(temp->data%2!=0)
{
printf("%d ",temp->data);
temp= temp->next;
}
else temp = temp->next;
}
printf("
");
return;
}
int main()
{
node *head,*start,*last,*temp;
int flag;
start=NULL;
do
{
printf("Please Enter 1 To insert a value: ");
scanf("%d",&flag);
if(flag!=1)
{
break;
}
temp = (node *)malloc(sizeof(node));
printf("Enter Value: ");
scanf("%d",&temp->data);
temp->next = NULL;
if(start==NULL) ///check the first value
{
start = temp;
head =temp;
}
else
{
last = start;
while(last->next!=NULL) ///find last index
{
last = last->next;
}
last->next= temp; ///replace new value at last
}
}while(flag==1);
find_even(head);
find_odd(head);
return 0;
}
Output
Please Enter 1 To insert a value: 1
Enter Value: 3
Please Enter 1 To insert a value: 1
Enter Value: 8
Please Enter 1 To insert a value: 1
Enter Value: 5
Please Enter 1 To insert a value: 1
Enter Value: 0
Please Enter 1 To insert a value: 0
Even Value:
8 0
Odd Value:
3 5
Add your comment