Тема: однонаправлені списки(допоможіть переробити)
#include <iostream>
#include <windows.h>
using namespace std;
class Node
{
public:
char number;
Node* next;
};
void act(const char*);
int main()
{
Node* head = NULL;
Node* lastPtr = NULL;
short action = -1;
while (1)
{
act("1-добавити цифру у список\n");
act("2-перглянути два списки\n");
act("0-вихiд\n\n");
act("Ваш Вибiр: ");
cin>>action;
if (action == 0)
{
system("cls");
break;
}
if (action == 1)
{
system("cls");
Node* ptr = new Node;
char numb;
act("Введiть Число: ");
cin>>numb;
ptr->number = numb;
ptr->next = NULL;
if (head == 0)
{
head = ptr;
lastPtr = ptr;
system("cls");
continue;
}
lastPtr->next = ptr;
lastPtr = ptr;
system("cls");
continue;
}
if (action == 2)
{ int* i=0;
Node* ptr = NULL;
system("cls");
if (head == NULL)
{
act("\tНа даний момент список пустий!\n\n");
system("pause");
system("cls");
continue;
}
act(" Список\n\n");
ptr = head;
cout<<"s1 : ";
while (1)
{
cout<<" "<< ptr->number<<" ";
if (ptr->next == 0)
break;
ptr = ptr->next;
}
cout<<"\n";
ptr=head;
cout<<"s2 : ";
while (2)
{
if(ptr->number%2==0)
{
cout<<" "<< ptr->number<<" ";
}
if (ptr->next == 0)
break;
ptr = ptr->next;
}
cout<<"\n\n";
system("pause");
system("cls");
continue;
}
}
}
void act(const char* rus)
{
char word[100];
CharToOemA(rus, word);
cout<<word;
}
Потрібно переробити, на умову: сформувати дваоднонапрвлені списки S1 та S2, сформувати список S3, куди ввійдуть лише не парні елементи обидвох списків. вивести всі списки на друк...