Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 42

Циклический список. Решение задачи

23.11.2012, 12:05. Показов 2034. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно нужно решить задачу с использованием технического списка. Проверить, удовлетворяют ли элементы списка (базовый тип integer) закону x=f(x0, h), где x – элемент списка, h – шаг, x0 – начальный элемент списка. Пример: x0=5, h=1. x1=6, x2=7, x3=8... Элементы списка удовлетворяют закону x=h(5,1).
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
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <locale.h>
#include <cstdlib>
using namespace std;
 
struct element
{
    int data;
    element *next;
};
element *head=NULL;
element *current=NULL;
void addElement(int,element*,element*);
void myFunc(element*, int);
 
int main()
{
  setlocale(LC_CTYPE,"Russian");
  int n;
  cout<<"Введите количество элементов списка: ";
  cin>>n;
  cout<<"\nВвод элементов списка...\n";
  int inputData;
  //Вводим данные;
  for(int i=0;i<n;i++)
  {
    cout<<"Элемент списка №"<<i<<": ";
    cin>>inputData;
    addElement(inputData,head, current);
  }
  current->next=head;
  myFunc(head,n);
}
 
void addElement(int dataElement, element *pHead, element *pCurrent)
{
  element* pAdd=new element;
  pAdd->data=dataElement;
  if (pHead==NULL)
  {
    pAdd->next=pAdd;
    pHead=pAdd;
    head=pHead;
  }
  else
  {
    pAdd->next=pCurrent->next;
    pCurrent->next=pAdd;
  }
  pCurrent=pAdd;
  current=pCurrent;
}
 
 
 
/*Функция, проверяющая, удовлетворяют ли
элементы списка (базовый тип integer) закону
x=f(x0, h), где x – элемент списка, h – шаг,
 x0 – начальный элемент списка.
 Пример: x0=5, h=1. x1=6, x2=7, x3=8...
 Элементы списка удовлетворяют закону x=h(5,1)*/
void myFunc(element* pHead,int n)
{
  int h;
  cout.setf(cout.boolalpha);
  cout<<"Введите шаг h: ";
  cin>>h;
  element *pAdd=new element;
  element *pCurrent=new element;
  pAdd=pHead;
  pCurrent=pHead+2;
  bool *x=new bool;
  *x=true;
  for(int i=1;i<n;i++)
  {
    cout<<endl;
    if (pCurrent->data-pAdd->data!=h)
    {
      *x=false;
    }
    pAdd+=2;
    pCurrent+=2;
  }
  switch (*x)
  {
    case true:
      cout<<"Верно"<<endl;
      break;
    case false:
      cout<<"Не верно"<<endl;
      break;
    default:
      cout<<"Другой случай";
  }
  delete pAdd;
  delete pCurrent;
}
Честно говоря, только недавно начал изучать с++ и совсем недавно коснулся темы указателей. Не могу представить как тут можно использовать циклический список. Один раз прошелся по списку, заполнив его, второй раз прошелся, проверив условие. Додумался только добавить строчку
C++
1
current->next=head;
, что, вроде бы, делает список циклическим. Последний элемент указывает на начало списка. Достаточно ли этого?

Добавлено через 13 часов 31 минуту
ап!!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2012, 12:05
Ответы с готовыми решениями:

Циклический односвязный список. Пример задачи
Здравствуйте, уважаемые форумчане! В лекциях услышал о случаях применения циклического односвязного списка (Circular Linked List) и недавно...

Односвязный циклический список
#include&lt;iostream&gt; using namespace std; struct node { double x, y; node *next; }; class Linked { private:

Двусвязный циклический список
помогите исправить ошибки впрограмме не знаю че делать(компилятор dev-c++) заранее спасибо #include &lt;stdlib.h&gt; #include...

1
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
23.11.2012, 12:14
00884, да, достаточно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2012, 12:14
Помогаю со студенческими работами здесь

Циклический односвязный список
&quot;Циклический односвязный список с зацикливанием «через указатель». Дополнительные операции: a) перенести все нечетные по порядку узлы в...

Организовать циклический список
Привет, помогите пожалуйста хоть не много Организовать циклический список, содержащий данные о клиентах( наименования, шифр). Вывести на...

Циклический односвязный список
Есть такой код, писал сам. В с++ я чайник, такчто сильно прошу не пинать. Вообщем прога компилится, но падает с ошибкой, при запуске( Что...

Циклический связанный список
Доброго времени суток. Пытаюсь посчитать количество значений в циклическом списке. Но всегда получается на 1 значение меньше. Или я должен...

Циклический однонаправленный список
Циклический однонаправленный список, упорядоченный по убыванию. Хотелось бы увидеть пример такого списка)


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru