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

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

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

Переворот линейного списка - C++

20.10.2010, 15:28. Просмотров 1040. Ответов 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
71
72
73
74
75
76
77
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
#include <dos.h>
 
struct spis
{
  float value;
  spis *next;
};
 
void addElement(spis &spisok,float value)
{
  if (value == 0)
    return;
  spis *nextElem = new (spis);
  nextElem->value = value;
  nextElem->next = NULL;
  if (&spisok == NULL)
    &spisok = nextElem;
  else
  {
    spis *tmpSpis = &spisok;
    while (tmpSpis->next != NULL)
      tmpSpis = tmpSpis->next;
    tmpSpis->next = nextElem;
  }
}
 
void vvodSpisok(spis &spisok)
{
  float value;
  int i;
  i = 0;
  do
  {
    clrscr();
    printf("Введите значение элемента (0-окончание ввода) ");
    fflush(stdin);
    scanf("%f",&value);
    ++i;
    addElement(spisok,value);
 
  }
  while (value != 0);
}
 
void printSpisok(spis *spisok)
{
  if ((spisok == NULL) || (spisok->next == NULL))
  {
    printf("Список пуст\n");
    return;
  }
  spisok = spisok->next;
  while (spisok != NULL)
  {
    printf("%.2f -> ",spisok->value);
    spisok = spisok->next;
  }
  printf("NULL");
}
 
int main()
{
  spis spisok;
  spisok.next = NULL;
  spisok.value = 0;
  char pause;
  vvodSpisok(spisok);
  clrscr();
  printSpisok(&spisok);
  printf("\n");
  fflush(stdin);
  scanf("%c",pause);
  return 0;
}
Как проверить что список упорядочен по возростанию и написать процедуру для перестроения элементов этого списка в обратном порядке??? только начинаю учить С++...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переворот линейного списка (C++):

Привести пример реализации любого линейного списка списка с использованием лишь структур - C++
Буду благодарен, если кто-нибудь сможет привести пример реализации любого линейного списка списка с использованием лишь структур (то есть...

Создание линейного списка - C++
Помогите, пожалуйста, написать код для создания линейного списка. у меня есть такой вариант: #include &lt;iostream&gt; using namespace std; ...

Удаление Линейного списка - C++
Доброго вечера. Вопрос следующий : Полностью ли я освободил память выделенную под ЛС следующей функцией. В функцию передается...

Создание линейного списка - C++
Здравствуйте!!!!!! Помогите пожалуйста написать программку создание линейного спискаи распечатка линейного списка.Очен надо!!!! Заранее...

Создание линейного однонаправленного списка - C++
Добрый вечер!Написала программу создания линейного списка и вывод его на экран с клавиатуры и из файла.Вроде бы всё верно и программа даже...

Построение линейного самоадресуемого списка - C++
задание: Напишите программу создания линейного самоадресуемого списка из 10-и элементов. В поле данных каждого элемента списка – порядковый...

3
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
20.10.2010, 16:46 #2
Цитата Сообщение от Crystalrose Посмотреть сообщение
Как проверить что список упорядочен по возростанию
Список упорядочен по возрастанию, если каждый следующий член не меньше предыдущего.
написать процедуру для перестроения элементов этого списка в обратном порядке??? только начинаю учить
Поменять попарно элементы массива местами.
0
Crystalrose
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10
20.10.2010, 17:57  [ТС] #3
это понимаю... мне бы как именно на С++ организовать это. Кстати какого массива??
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
20.10.2010, 17:59 #4
Начнём с того, что у вас связный список, а не линейный. Что такое "динамические переменные" - я не знаю.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2010, 17:59
Привет! Вот еще темы с ответами:

Создание и вывод линейного списка - C++
код я написал, но он ничего на экран не выводит в чем может быть ошибка #include &lt;iostream&gt; #include&lt;fstream&gt; using namespace std; ...

сортировка линейного списка перестановками - C++
я написал алгоритм который будет просто менять поля value а не перенаправлять указатели, но программа не работает правильно не могли бы вы...

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

Произведение элементов линейного списка - C++
Подскажите пожалуйста произведение элементов линейного списка по такой функции считается? int fun (node *&amp;a,node *&amp;o) { node *p;...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
20.10.2010, 17:59
Ответ Создать тему
Опции темы

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