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

Кольцевые однонапрвленые списки - C++

Восстановить пароль Регистрация
 
Intenseua
0 / 0 / 0
Регистрация: 29.12.2015
Сообщений: 35
09.06.2016, 09:32     Кольцевые однонапрвленые списки #1
Привет, нужно написать програму, которая в кольцевом однонаправленом списке заменит все числа кратные 3 на ноль. Есть код, подскажите где ошибки?
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
#include <iostream>
#include <windows.h>
#include <time.h>
using namespace std;
struct c 
  {
      int n; 
      c *next;
  };
int main()
{
  system("cls");
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  srand(time(NULL));
  int i, k1, n=10;
  int A[n];
  for(i = 0; i < n; i++)
    {
        A[i]=rand()%20-10;
    }
  c *begin = NULL;   // вказівник на голову списку
  c *last = NULL;      // вказівник на поточний останній елемент списку
  c *list = NULL;       // вказівник на поточний елемент списку
  for (int i=0; i<n; i++)
       if (begin == NULL)
        {
            last = new c;
            last->n = A[i];
            last->next = begin;
            begin = last;
            list = last; 
        }
       else 
        { 
            last = new c;
            last->n = A[i];
            last->next = NULL;
            list->next = last;
            list = last;
        }
    k1=0;
    for(i = 0; i < n; i++)
    {
        if((A[i]%3)==1)
        {
            A[i]=0; 
        }
    }
    
  // виводимо елементи списку 
  list = begin;
  cout <<"Список : \n";
  while (list) 
    {
      cout<<list->n<<"\n";
      list = list->next; 
    }
  //удаляємо усі елементи списку
  while (begin) 
    {
      list = begin;
      begin = list->next;
      delete list;
    }
    cout<<"Перетворений список: "<<endl;
      system("pause");
  delete begin;
  return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2016, 09:32     Кольцевые однонапрвленые списки
Посмотрите здесь:

C++ Списки
списки C++
Списки C++
C++ Кольцевые списки
C++ Списки
C++ Электронные станции: радиальные, кольцевые и смешанные виды связей между ними
C++ Списки
списки с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no_attention
27 / 27 / 13
Регистрация: 18.05.2016
Сообщений: 128
09.06.2016, 09:44     Кольцевые однонапрвленые списки #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ты сначала заполняешь список значениями из массива, а потом обрабатываешь массив. В итоге, в списке у тебя остались неизменённые элементы.
И ещё, касательно 45 строчки: насколько я понимаю, там должно быть
C++
1
if ((A[i] % 3) == 0)
Yandex
Объявления
09.06.2016, 09:44     Кольцевые однонапрвленые списки
Ответ Создать тему
Опции темы

Текущее время: 15:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru