////how can i get rid of all the odd numbers
#include <iostream.h>
#include <iomanip.h>
struct NODE{
int info;
NODE *next ;
};
void createList(NODE* &head);
void InsertInOrder(NODE *&head, int num);
void printList (NODE *head);
void sieve (NODE* &head);
int main()
{
NODE *head = 0;
createList(head);
printList(head);
sieve(head);
printList(head);
}
void createList(NODE* &head)
{
for (int i =2; i <= 100; i++)
{
InsertInOrder (head, i);
}
}
void InsertInOrder (NODE* &head,int num)
{
NODE *tempNode;
tempNode = new NODE ;
tempNode -> info = num;
tempNode -> next = 0;
NODE *marker = head,*back = 0;
while(marker && marker -> info <= num)
{
back = marker;
marker = marker -> next;
}
tempNode -> next = marker;
if(back)
back -> next = tempNode;
else
head = tempNode;
}
void printList(NODE *head)
{
NODE *node;
cout<<" ";
for(node = head; node; node = node -> next)
{
cout<<node -> info;
cout<< setw(5);
}
cout<<endl;
}
void sieve(NODE* &head)
{
int count = 2;
NODE *marker =head;
NODE *nodePtr = marker;
while(marker)
{
while (nodePtr != 0)
{
for (int i = 1; i <= count; i++)
{
if (!nodePtr)
break;
nodePtr = nodePtr -> next;
}
if(nodePtr)
nodePtr -> info = 0;
}
marker = marker ->next;
count = marker -> info;
}
}