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

Список - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Факториал http://www.cyberforum.ru/cpp-beginners/thread635842.html
Простите за избитую тему, но не могу ни как организовать факториал в winForms . При клике на Button программа должна выводить факториал в label. Можете показать пример такой программы(без использования return) или помочь разобраться с ошибкой Ошибка 1 error C2562: programma1::Form1::button2_Click: функция типа "void", возвращающая значение. Буду очень признателен.
C++ Литература C++ для начинающего(желательно с .NET) Решил начать изучение языка C++, начальные знания есть только на уровне Бейсика и Паскаля(учил циклы, массивы) Подскажите книгу для начинающего по данному языку Читая форум видел много разной литературы, пока склоняюсь к "Как программировать на C++" Автор: Х. М. Дейтел, П. Дж. Дейтел (2009 год) Стоит ли ее брать или что получше можно выбрать, желательно, но не обязательно указать ссылку на... http://www.cyberforum.ru/cpp-beginners/thread635825.html
C++ Работа со звуком! Ошибка! SOS!
Доброго времени суток, пишу аппаратный генератор СЛ на основе звуковой карты! Сразу предупреждаю в Visual C++ я человек новый, пишу код по одной хорошей статейке (см. ресурс Скажем вирусам "Нет!"). И вот компиляция сама проходит успешно, но при запуске идут 6 неразрешенных внешних ошибок, как разрешить данную проблему, удивляет, то что ошибка в выводе об ошибке? да, и подскажите на будущее, чем...
C++ Запись и чтение из файла wstring
Всем привет! Ребята, работаю с Юникод и встал вопрос как считать из файла и записать в файл wstring name; Погуглив нашел вот что: Запись в файл wstring &street
C++ Ошибки в коде. Считывание/запись структуры в файл http://www.cyberforum.ru/cpp-beginners/thread635795.html
Здравствуйте. Может кто поможет с кодом. Пытаюсь написать программу, которая бы писала в файл и считывала бы из нее структуру. Вот код : #include <fstream.h> //... struct rec { int A; int B; int C; };
C++ и снова змейка у меня огромная просьба,задали на выходные написать змейку на С++ в Visual Sudio 2010, но очень много ограничений в плане библиотек,поэтому интернет отпадает(уже гуглил,везде то что мы не учили)сам никак не справлюсь,если не тяжело не могли бы вы мне помочь,мозг уже закипает,перемещение с одной звездочкой сделал,а как влепить 3 и двигать их не могу написать#include<iostream> #include<ctime>... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1237 / 986 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
11.08.2012, 01:38     Список
Я написал тот вариант для прикола. Он делает перевёрнутую копию, а не переворачивает тот же самый список.

Вот тебе правильная переворачивалка, которая творит примерно то же самое, но изменяя тот же самый список, а не создавая новый. Это буквально алгоритм John Prick. И он как раз итеративный, но любую итерацию можно сделать рекурсией (хвостовой).
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
#include <iostream>
 
struct List {
  int val;
  List *next;
 
  List(int val_, List *next_ = NULL) : val(val_), next(next_) {}
  ~List() { delete next; }
};
 
std::ostream& operator<<(std::ostream &stream, List *list)
{
  for (List *cur = list; cur != NULL; cur = cur->next) {
    stream << cur->val << " ";
  }
  return stream;
}
 
//  Суть: left = голова ещё не перевёрнутой части,
//  rev = голова перевёрнутой части.
//
//  reverse(1 -> 2 -> 3 -> NULL) == reverse(1 -> 2 -> 3 -> NULL, NULL) ==
//  == reverse(2 -> 3 -> NULL, 1 -> NULL) == reverse(3 -> NULL, 2 -> 1 -> NULL) == ...
List* reverse(List *left, List *rev = NULL)
{
  if (left == NULL) {
    return rev;
  }
  else {
    List *next = left->next;
    left->next = rev;
    reverse(next, left);
  }
}
 
int main()
{
  List *lst = new List(1, new List(2, new List(3)));
  std::cout << lst << std::endl;
  lst = reverse(lst); // важно переприсвоить
  std::cout << lst;
  delete lst;
  return 0;
}
 
Текущее время: 17:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru