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

Создать двусвязный список с простыми числами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку http://www.cyberforum.ru/cpp-beginners/thread1142827.html
Ребят, такая проблема, задание: Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Но есть косяк, у меня получается делит число в 5 степени не на число а 14 степени, а на число в 16, как исправить косяк? вообще в голову не приходит. буду благодарен! #include "stdafx.h" #include <iostream> using namespace std; int perevod10(int...
C++ Освобождение памяти в c++ Привет, помогите разобраться с освобождением памяти в c++. Я так понимаю, что если освободить память, то переменная удаляется, но почему же такой код: int *a= new int; *a=1; cout <<*a<<endl; delete a; *a=2; cout <<*a;Выводит 1 2? Ведь по идее он не должен выводить 2, т.к. переменная а удалена. http://www.cyberforum.ru/cpp-beginners/thread1142826.html
Экспертам и программистам С++: пройти собеседование и получить работу C++
прошу напишите список книг по С++,которые реально полезны и необходимы:для того ,чтобы пройти собеседование и получить работу.и что необходимо знать и чем владеть?пожалуйста,буду рад узнать мнения о советы профессионалов. P.S:Прошу писать только реально работающих программистов на С++. Добавлено через 56 минут актуально
Факториал с++ C++
1. Ввести n элементов одномерного массива; 2. Вычислить указанное выражение; 3. Вывести на экран значение указанного выражения.
C++ Странный тип Double http://www.cyberforum.ru/cpp-beginners/thread1142800.html
В функции main вводится hex-строка. Затем подсчитывается частота символов в этой строке и то (GetFreqChars). Затем вычисляется насколько полученные результаты соответствуют частотам StFreqDistr (GetFreqDif). После этого выводится результат: первая строка соответствует больше чем вторая или нет. Почему-то, если в функции GetFreqChars убрать строку где умножение на 1000, то результат меняется на...
C++ Ввод нескольких слов в строку (структура) Почему не работает getline? 20 строка #include<iostream> #include<string> using namespace std; struct Book{ string name; int pages; int code; подробнее

Показать сообщение отдельно
Eliely
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 6
09.04.2014, 00:40  [ТС]
У меня есть стандартный функционал для двусвязного списка и проблема с удалением элемента. К решету Эратосфена еще не дошла.
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
struct Node       //Структура являющаяся звеном списка
 {
     int x;     //Значение x будет передаваться в список
     Node *Next,*Prev; //Указатели на адреса следующего и предыдущего элементов списка
 };
 
 class List   //Создаем тип данных Список
 {
     Node *Head,*Tail; //Указатели на адреса начала списка и его конца
 public:
     List():Head(NULL),Tail(NULL){}; //Инициализируем адреса как пустые
     ~List(); //Деструктор
     void Show(); //Функция отображения списка на экране
     void Add(int x); //Функция добавления элементов в список
 };
 
List::~List() //Деструктор
 {
     while (Head) //Пока по адресу на начало списка что-то есть
     {
         Tail=Head->Next; //Резервная копия адреса следующего звена списка
         delete Head; //Очистка памяти от первого звена
         Head=Tail; //Смена адреса начала на адрес следующего элемента
     }
 }
 
 void List::Add(int x)
 {
   Node *temp=new Node; //Выделение памяти под новый элемент структуры
   temp->Next=NULL;  //Указываем, что изначально по следующему адресу пусто
   temp->x=x;//Записываем значение в структуру
 
   if (Head!=NULL) //Если список не пуст
   {
       temp->Prev=Tail; //Указываем адрес на предыдущий элемент в соотв. поле
       Tail->Next=temp; //Указываем адрес следующего за хвостом элемента
       Tail=temp; //Меняем адрес хвоста
   }
   else //Если список пустой
   {
       temp->Prev=NULL; //Предыдущий элемент указывает в пустоту
       Head=Tail=temp; //Голова=Хвост=тот элемент, что сейчас добавили
   }
 }
 
 void List::Show()
 {
//ВЫВОДИМ СПИСОК С КОНЦА
     Node *temp=Tail;
      //Временный указатель на адрес последнего элемента
     while (temp!=NULL) //Пока не встретится пустое значение
     {
     cout<<temp->x<<" "; //Выводить значение на экран
     temp=temp->Prev; //Указываем, что нужен адрес предыдущего элемента
     }
     cout<<"\n";
 
 //ВЫВОДИМ СПИСОК С НАЧАЛА
     temp=Head; //Временно указываем на адрес первого элемента
      while (temp!=NULL) //Пока не встретим пустое значение
     {
     cout<<temp->x<<" "; //Выводим каждое считанное значение на экран
     temp=temp->Next; //Смена адреса на адрес следующего элемента
     }
     cout<<"\n";
 }
 
 
int main ()
{int i,n,k;
List lst;
cout<<"Enter the number of records ";
    cin>>n;
      cout<<"Enter numbers"<<endl;
      for( i=0;i<n;i++){
          cout<<i+1<<" = ";
          cin>>k;
          lst.Add(k);}
 
 lst.Show(); //Отображаем список на экране
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru