Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ALEX000
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 35
#1

Извлечение из списка всех нулевых елементов - C++

10.12.2013, 22:31. Просмотров 168. Ответов 0
Метки нет (Все метки)

С++ Не могу никак разобраться что делаю не так. Суть заключаеться - ввожу любые елементы например 5, 10, 0 ,3, 4, 0, 8 или любые а в результате списка должен получиться числа без нулей тоесть 5, 10, 3, 4, 8. Я уже запутался что к чему, прошу вашей помощи.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#pragma agrused
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
// shablon vuzliv spusky
  typedef struct node
  {node *next;
   node *prew;
   int val;
  } LISTN,*LISTP;
  LISTP Head=NULL, End=NULL;
 
  void clear_list(LISTP&head,LISTP&end)
  {
     LISTP q;
     for(;head;)
     {
          q=head;
          head=head->next;
          delete q;
     }
     end=NULL;
  }
 
 
  void make_list(LISTP&head,LISTP&end, int n)
  {   LISTP p;
      if (head) clear_list(head,end);
      int i;
      randomize();
      for(i=0;i<n;i++)
      {
            p=new LISTN;
            p->val=random(51)-15;
            p->next=head;
            p->prew=NULL;
            if(head)head->prew=p;
            head=p;
            if(!end)end=p;
      }
  }
 
 
 void view_list(LISTP p,int f)
  {if(!p){cout<<"\n\tSpusok pyst";
          return;
         }
   while(p!=NULL)
   {cout<<p->val<<" ";
    if (f==1)p=p->next;
    else p=p->prew;
 
   }getch();
   }
 
 void delete_node(LISTP&head,LISTP&end)
  {LISTP p,q;
  int k;
  head->val>0?k=1:k=0;
  for(p=head;q=p->next;)
  if(q->val>0)
  {     ++k;
        if(k==2)
        { p->next=q->next;
          if(q->next)(q->next)->prew=p;
          else q->prew=p;
          if(!q)end->prew=p;
          delete q;
          k=0;
          }
          else p=p->next;
  }
  else p=p->next;
}
 
 int main()
 { int n;
  cout<<"\n Vvedit' razmer spuska\n\t";
  cin>>n;
  cout<<"\n Spusok mae vud:\n\n";
  make_list(Head,End,n);
  view_list(Head,1);
  delete_node(Head,End);
  cout<<"\n\n Spusok posle izmen :\n\n";
  view_list(Head,1);
  return 0;
  }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 22:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Извлечение из списка всех нулевых елементов (C++):

Подсчитать количество нулевых елементов - C++
Подсчитать количество нулевых елементов в массиве, массив заполнить случайными числами

Как найти количество нулевых елементов в массиве? - C++
Помогите пожалуйста. Нужно найти количество нулевых елементов в одмомерном массиве. Вот тот что есть: #include&lt;stdio.h&gt; ...

перестановка елементов списка - C++
Всем доброго времени суток :) У меня возник вопрос по двунаправленому списку! есть такая функция void per(list *n,list *m) На вхо...

шаблон функции который принимает в параметры массив количиство елементов и должен найти сумму елементов массив - C++
шаблон функции который принимает в параметры массив количиство елементов и должен найти сумму елементов массива

количество и индексы всех нулевых элементов - C++
Написать программу, которая в заданном двумерном массиве вещественных чисел находит количество и индексы всех нулевых элементов.

Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А. - C++
Масив целых чисел(розмеры 100) заполнить случайными значениями(диапазон значений от -100 до 100).Вывести начальные индексы всех елементов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2013, 22:31
Привет! Вот еще темы с ответами:

Создать линейный массив, отсортировать его в другой массив, вывести адрес всех елементов - C++
Помогите пожалуйста с кодом ,нужно за час сдать , напишите код , только попроще Создать линейный массив, отсортировать его в другой...

Создать линейный массив, отсортировать его в другой массив, вывести адрес всех елементов - C++
Помогите пожалуйста, за час нужно сдать , напишите код , только попроще создать линейный массив , отсортировать его в другой массив,...

Дано натуральное число n>0 и последовательнось чисел из n елементов, найти количество всех чисел которые больше за 0 и меньше за 0 - C++
Всем привет, задача такова: Дано натуральное число n&gt;0 и последовательнось чисел из n елементов, найти количество всех чисел которые...

Определить наибольшее из всех отрицательных значений, наибольшее из всех значений, количество нулевых значений - C++
Доброго времени суток. Помоги пожалуйста,никак не получается. Использование функций в языке СИ, получающих и возвpащающих pазличное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru