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

Списки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Линейный односвязный список и Бинарное дерево http://www.cyberforum.ru/cpp-beginners/thread387771.html
Необходимо написать программу, но вот что-то затрудняюсь 1.Два линейных односвязных списка заданы указателями на первый элемент. Целые числа, хранимые в узлах каждого из списков, упорядочены по возрастанию. Необходимо построить третий список, содержа-щий (также в порядке возрастания) все числа, занесенные в исходные списки. 2.Бинарное дерево задано указателем на корень. Реализовать программу,...
C++ плохой gets() Всем привет !! Сталкнулся с такой проблемой что оператор gets() нехочет выполнять есле передним стоит scanf вот пример #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> main(){ int a; char str; scanf("%d",a); gets(str); http://www.cyberforum.ru/cpp-beginners/thread387769.html
C++ Возвести в квадрад отрицательные элементы, которые находятся на главной диагонали и выше нее.
Если не трудно, то подскажите. вот дана матрица n*n и мне надо возвести в квадрад отриц. элем., которые находятся на главной диагонали и выше нее. собственно как начать работу с главной диагональю и выше нее. Задача пустяк на самом деле, но вот тормажу на этом месте. и еще как найти только первую строку. и вот гляньте еще вот это. у меня что-то не корректно работает. задание такое -...
C++ одномерный массив
Здравствуйте, помогите решить данную задачу: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Сумму положительных элементов массива. 2. Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. 3. Упорядочить элементы массива по убыванию.
C++ процесс с новым потоком http://www.cyberforum.ru/cpp-beginners/thread387755.html
объясните как создать процесс у которого будет поток который ты для него создал , следующий пример не работает(там при закытие процесса его поток должен уничтожатся и сообщение не выводится) #include "windows.h" DWORD WINAPI ThreadFunc(LPVOID lpParam) { char szMsg; wsprintf(szMsg, "Parameter = %d", *(DWORD*)lpParam);
C++ Массивы. Структурные типы. Доброго времени суток Вам! Помогите пожалуйста написать программу, обрабатывающую рациональные дроби, хранящиеся в двумерном массиве (матрице). Каждая рациональная дробь определяется как пара (числитель, знаменатель). На входе программы – две матрицы рациональных дробей (формат представления дробей нужно разработать самостоятельно). Программа должна обеспечить загрузку двух матриц и... подробнее

Показать сообщение отдельно
iKarma
9 / 9 / 0
Регистрация: 17.10.2011
Сообщений: 114
20.11.2011, 22:05     Списки
В общем сабж - как переделать прогу под односвязный и двусвязный списки, а то у меня ни то и ни сё =) Вот код:
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct BOOKS {
    char Author; //автор
    char Title;  //название книги
    int Year; //год
    int Quantity; //количество экземпляров
    BOOKS *next;  //указатель на след элемент
};
 
class BOOK {
public:
    BOOK();
    void Input(char Author,char Title,int Year,int Quantity); //ввод данных
    void Print(); //вывод введенных данных
    void Output(int Year); //вывод результата
    ~BOOK();
private:
        BOOKS *first; //указатель на перв элемент
    BOOKS *prev; //указатель на пред элемент
};
 
BOOK::BOOK() {
    first = NULL;
    prev = NULL;
}
 
BOOK::~BOOK() {
    while (first != NULL)
    {
        BOOKS *elem = first;
        first = first->next;
        delete elem;
    }
}
 
void BOOK::Input(char Author,char Title,int Year,int Quantity) {
    BOOKS *elem=new BOOKS();
    if (first==NULL)
        first = elem;
    else 
        prev->next = elem;
    elem->Author = Author;
    elem->Title = Title;
    elem->Year = Year;
    elem->Quantity = Quantity;
    elem->next = NULL;
    prev = elem;
}
 
void BOOK::Print() {
    int i = 0;
    BOOKS *elem = first;
    while (elem != NULL) {
        cout << "Book #" << i+1 << "\n" << "Title: " << elem->Title << " Author: " << elem->Author << " Year: " << elem->Year << " Quanitity: " <<elem->Quantity << "\n";
        elem = elem->next;
        i++;
    }
}
 
void BOOK::Output(int Year) {
    int i = 0, k = 0;
    BOOKS *elem = first;
    while (elem != NULL)
    {
        if (elem->Year == Year) {
            k++;
            cout << "Book #" << i+1 << "\n" << "Title: " << elem->Title << " Author: " << elem->Author << " Year: " << elem->Year << " Quanitity: " << elem->Quantity << "\n";
        }
        elem = elem->next;
        i++;
    }
    if (k==0)
        cout << "No books of such year!\n";
    cout << "--------------------------------------------------------------------------------\n";
    cout << "Number of the books of " << Year << " = " << k << "\n";
}
 
int main() {
    int i, n, year;
    char Author; //автор
    char Title;  //название книги
    int Year; //год
    int Quantity; //количество экземпляров
    BOOK MyLibrary;
    cout << "Enter the number of the books: ";
    cin >> n;
    cout << "--------------------------------------------------------------------------------\n";
    for (i=0; i<n; i++){
        cout << "Book #" << i+1 << "\n";
        cout << "Title: ";
        cin >> Title;
        cout << "Author: ";
        cin >> Author;
        cout << "Year: ";
        cin >> Year;
        cout << "Quanitity: ";
        cin >> Quantity;
        MyLibrary.Input(Author, Title, Year, Quantity);
    }
    cout << "--------------------------------------------------------------------------------\n";
    cout << "Your library is consisted of next books:\n";
        MyLibrary.Print();
    cout << "--------------------------------------------------------------------------------\n";
    cout << "Enter the year of the search: ";
    cin >> year;
    cout << "--------------------------------------------------------------------------------\n";
    cout << "Your search results: \n";
    MyLibrary.Output(year);
    cout << "--------------------------------------------------------------------------------\n";
    cout << "For exit press any key...";
    getch();
    return 0;
}
Добавлено через 6 часов 14 минут
вверх
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru