Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Замена элементов списка https://www.cyberforum.ru/ cpp-beginners/ thread164525.html
Помогите пожалуйста написать программу. В составе программы описать функцию, которая заменяет в списке все вхождения элемента E1, значение которого введено с клавиатуры, на элемент E2, значение которого также введено с клавиатуры.
C++ Структур комплексных чисел
Задание: Организовать структуру комплексных чисел и для неё реализовать операции: +, -, *, /, и нахождение сопряженного числа. Результат вывести на экран. Для демонстрации работы функции сделать меню с возможностью выбора. (это я думаю про знаки операции) вот что у меня выходит по тексту, проблема в том что, сначала компилируется все норм, и даж выводит первый запрос, потом все глючит,...
C++ Шифрование чисел Программа должна шифровать число следующим образом: заменять каждую цифру остатком от деления (цифра+7)/10. Затем написать программу дешифровки для получения исходных чисел. (Задачка взята собственно из книги Дейтела.) Первая часть затруднений не вызывает, а вот с дешифровкой не могу сообразить. Как из остатка можно получить исходное делимое? Диапазон чисел тут небольшой (получается от 7 до 16),... https://www.cyberforum.ru/ cpp-beginners/ thread164516.html C++ Программа для перевода валют Помогите пожалуйста,с++ не проходили,а уже скоро зачетная неделя будет,и там есть с++ и вот эти 2 задачи. 1)Напишите программу, которая переводит рубли в евро с возможностью изменения курса валюты. 2)В одномерном массиве,состоящем из n целых чисел элементов,вычислить: 1-номер максимального элемента 2-сумму элементов,расположенных после максимального элемента. буду всем очень... https://www.cyberforum.ru/ cpp-beginners/ thread164508.html
Разбить программу на потоки C++
Помогите пожалуйста разбить программу на потоки. Всего у нас три суммы в программе, т.е. должно быть три потока, которые в итоге выводят конечный результат. Проще говоря программа должна быть параллельной и иметь три потока. Вот я начал пробовать, но что-то не выходит. #include <iostream> #include <windows.h> #include <pthread> void * func_MyThread(void * args) { int S=0; // int i; int...
C++ Сортировка двунаправленного линейного списка по алгоритму Хоара ПОМОГИТЕ СРОЧНО!!!! нужно отсортировать двунаправленный линейный список по алгоритму Хоара менять местами можно только указатели!! код алгоритма Хоара : int split(T * a, int n){ int i = 0, j = n - 1; if (a > a){ T x = a; a - a; a = x } int max = i , min = j ; while... https://www.cyberforum.ru/ cpp-beginners/ thread164494.html
C++ Монотонная последовательность https://www.cyberforum.ru/ cpp-beginners/ thread164493.html
Не могу сообразить как реализовать на С++ эту задачу: Дана последовательность целых чисел и требуется проверить будет ли она монотонно возрастать/убывать? Пожалуйста, подскажите кто может.
массив и матрица C++
Всем привет! Если кто знает как решить то помогите потому что у меня не получается сделать самому(я пробовал) Условие: Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, которые содержат хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных парных элементов. Переставляя строки заданной матрицы, расположить их в...
C++ Что такое Хэш таблица с открытой адресацией https://www.cyberforum.ru/ cpp-beginners/ thread164465.html
Здраствуйте у меня такой вопрос то такое Хэш таблица с открытой адресацией хеш функция что должно храниться в структуре как осуществляется поиск по ключу ипо чему-то еще. вообщем обьясните пожалуйста если сможете то киньте пример.
C++ Перевод массива char в std::string в определенном формате Имеится char a="145"; нужно его превратить в std::string , но чтоб string b=""; тоесть чтоб скобки добавились. Как? https://www.cyberforum.ru/ cpp-beginners/ thread164458.html
Перевод систем счислений C++
Надо написать программу которая будет переводить число из одной произвольной системы счисления в другую. P. S. знаю, что таких задач по сети много, и даж есть на форуме, но мне они показались очень громоздкими, нам препод сказал делать по такой методики к примеру есть число abc в n-ой с. с. мы его должны сначало перевести в N= a*n^2+b*n^1+c*n^0 а потом чтобы перевести в нужную нам с. с...
C++ Создать два объекта и определить минимальное значение из чисел Описать класс , который хранит значение двух чисел и функцию для определения минимального из них , числа должны быть с ограниченым доступом , функция с открытым доступом . Создать два объекта и определить минимальное значение из чисел . https://www.cyberforum.ru/ cpp-beginners/ thread164452.html
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
12.09.2010, 11:09 0

Динамический список - C++ - Ответ 953164

12.09.2010, 11:09. Показов 4040. Ответов 9
Метки (Все метки)

Ответ

Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Кроме того, по условиям задачи вам не нужно создавать свой тип списка, а всего лишь сформировать оный.
Сдаётся мне - это всё-таки задание на конструирование велосипедов. Судя по представленному коду там и намёка на стандартные контейнеры нет...

Цитата Сообщение от Em1ly Посмотреть сообщение
если честно, я не понимаю, как это выкладывать кодом
Ну вот как два листинга выложили, так и нужно...
Вот Вам Ваш список
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
98
99
100
101
#include <iostream>
#include <stdexcept>
 
class List {
    // структура элемента списка
    struct Node {
        int nValue;
        Node * pNext;
        Node(int val) : nValue(val), pNext(NULL) {}
    };
    Node * first, * last; // указатели на первый и последний элементы
    List(const List&); // закрытый конструктор копирования - не нужно нам один список в другой копировать
public:
    // конструктор по умолчанию
    List() : first(NULL), last(NULL) {}
    // деструктор
    ~List() {
        while ( first ){
            last = first->pNext;
            delete first;
            first = last;
        }
    }
    // возвращает true если список пустой
    bool empty() const {
        return first == NULL;
    }
    // добавление элемента в список
    void add(int val){
        Node * pNode = new Node(val);
        // если список пустой, вставить первый элемент
        if ( ! first ){
            first = pNode;
            last = first;
        }
        // иначе добавить элемент в конец списка
        else {
            last->pNext = pNode;
            last = pNode;
        }
    }
    // максимальное значение в списке
    int maxValue() const {
        int maxVal;
        Node * pNode;
        
        // если список пустой, выйти с сообщением об ошибке
        if ( empty() )
            throw std::runtime_error("Empty list!");
        
        maxVal = first->nValue;
        for ( pNode = first->pNext; pNode != NULL; pNode = pNode->pNext )
            if ( maxVal < pNode->nValue )
                maxVal = pNode->nValue;
        
        return maxVal;
    }
    // поиск элемента с заданным значением. возвращает позицию элемента в списке
    // начиная с 1, или 0, если элемент с заданным значением не найден
    int findElement(int val) const {
        int currentPos, foundPos;
        Node * pNode;
        
        // если список пустой, выйти с сообщением об ошибке
        if ( empty() )
            throw std::runtime_error("Empty list!");
        
        foundPos = 0;
        for ( currentPos = 1, pNode = first; pNode != NULL; ++currentPos, pNode = pNode->pNext ){
            if ( pNode->nValue == val ){
                foundPos = currentPos;
                break;
            }
        }
        return foundPos;
    }
};
 
int main(){
    int val, cnt;
    List list;
    
    std::cout << "Number of elements in list: ";
    std::cin >> cnt;
    for ( int i = 0; i < cnt; ++i ){
        std::cout << "Element #" << ( i + 1 ) << ": ";
        std::cin >> val;
        list.add(val);
    }
    
    if ( list.empty() ){
        std::cerr << "Error! No elements in list!" << std::endl;
        return 1;
    }
    
    val = list.maxValue();
    std::cout << "Max value in list is " << val << std::endl;
    std::cout << "it's " << list.findElement(val) << "(th) from begin." << std::endl;
    
    return 0;
}
старался попроще сделать, если что - спрашивайте...

Вернуться к обсуждению:
Динамический список C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2010, 11:09
Готовые ответы и решения:

Динамический список
Привет) Помогите мне пожалуйста написать программу, которая бы позволяла вставляла бы элемент после...

Динамический список
Ребят нужна помощь создал список, вывод его на экран. Теперь нужно реализовать дополнение списка...

Динамический список
помогите пожалуйста решить задачу: Динамический список (2 класса: элемент списка и список,...

динамический список
Всем здраствуйте . В проге надо создать динамический список и реализовать всякие функции для...

9
12.09.2010, 11:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2010, 11:09
Помогаю со студенческими работами здесь

динамический список
вообщем огромная просьба, показать хотя бы каким макаром писать, ну если будет что то готовое в...

Динамический список
Вот есть класс..совсем не замысловатый! ...

Динамический список
Составить программу которая выполняет следующие действия: 1. Создает динамический список 2....

Динамический список
пожалуйста если можно подскажите как создать динамический список в классе C++ (если можно с...

Динамический список
Камнем преткновения стали динамические списки. Никак понять не могу. Уже спрашивал, но в основном...

динамический список
вот начал разбираться с динамическими списками, объясните что на так делаю. спасибо #include...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru