Скопировать все отрицательные элементы исходного в новый список - C (СИ)

Формулировка задачи:

Однонаправленный линейный список, скопировать все отрицательные элементы в новый список. Просто создаю список эл-тов.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#define N 5
struct List
{ int data;
List* next;};
List *root,*q,*p, *t;
int main()
{
    int i;
    q=new List;
    cout <<"vvedite chisla:\n";
    cin >>q->data;
    root = q;
    for (i=1; i < N; i++)
    {
        q->next=new List;
        q = q ->next;
        cin >>q->data;      
        q->next=NULL;
    }
    q = root;
    cout <<"Data:";
    while (q!=NULL)
    {
        cout <<" "<<q->data;
        q=q->next;
    }
    q = root;
    t = q;
    q = root;
    cout << "\nresult:";
        while (q!=NULL)
        {
            cout <<" "<<q->data;
            q=q->next;
        }
        cout <<"\n";
    system("pause");
    return 0;
    getch();
}

Код к задаче: «Скопировать все отрицательные элементы исходного в новый список - C (СИ)»

textual
#include <stdio.h>
#include <stdlib.h>
 
typedef struct node_t
{
   int data;
   struct node_t* next;
}  TList;
 
int main()
{
   TList* list = NULL;
   TList* newlist = NULL;
   TList* node, * tmp;
   int data;
 
   printf("input numbers: ");
   while (scanf("%d", &data))
   {
      node = (TList*) malloc(sizeof(TList));
      node->data = data;
      node->next = list;
      list = node;
   }
 
   printf("source: ");
   for (node = list; node; node = node->next)
   {
      printf("%d ", node->data);
   }
   printf("\n");
 
   for (node = list; node; node = node->next)
   {
      if (node->data < 0)
      {
         tmp = (TList*) malloc(sizeof(TList));
         tmp->data = node->data;
         tmp->next = newlist;
         newlist = tmp;
      }
   }
 
   printf("result: ");
   for (node = newlist; node; node = node->next)
   {
      printf("%d ", node->data);
   }
   printf("\n");
 
   system("pause");
   return 0;
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

8   голосов, оценка 3.875 из 5


СДЕЛАЙТЕ РЕПОСТ
Похожие ответы