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

Списки. Входит ли один список в другой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Тип элемента http://www.cyberforum.ru/cpp-beginners/thread1170170.html
Добрый день! Подскажите пожалуйста, в методичке написано, что объявляется тип элемента, вот так: typedef int K; typedef int I; typedef E <K,I> elem; Естественно компилятор выругался на последнюю строчку. Я не знаю что имеется в виду. Что это такое и где про него можно почитать? Спасибо! :) P.S.
C++ Определение и тестирование класса Доброго времени суток ! Ребят ,только учусь так что не судите строго)) Учусь по книге "Харви М.Дейтел и Пол.Дж.Дейтел - Как программировать на С++ " На теме : "определение класса и тестирование " ,наткнулся на программу которая выдает ошибку - " Could not find a match for "std::getline(istream_withassign,std::basicstring<char,std::string_char_traits<char>,std ::allocator<char>>) и не могу... http://www.cyberforum.ru/cpp-beginners/thread1170137.html
Реализовать метод пересчета суммы вклада по заданной ставке годовых C++
Помогите решить задачку в С++ Builder! Класс Клиент банка с член-данными: фамилия, имя, № счета, сумма вклада, дата внесения депозита. Реализовать метод пересчета суммы вклада по заданной ставке годовых (например, 15%) в зависимости от срока хранения вклада (текущей даты). Заранее спасибо!
C++ Разбить строку на подстроки, используя разделитель
Здравствуйте! Требуется программа которая будет получать список емейлов и паролей из файла в одном виде (емейл;пароль) и сохранять в файл в вот таком виде: smtp.mail.ru 25 1 емейл пароль 110 еще раз емейл 2 1 1 1 1 940 2 1 нужно как можно скорей у всех документов расширение txt название любое, можно сделать на 1 определенное
C++ фрактальная анимация и фрактальная музыка http://www.cyberforum.ru/cpp-beginners/thread1170104.html
Я не знал в каком разделе создать эту тему, так что извините если не там. В интернете крайне мало информации про фрактальную графику и музыку. Будьте добры, подскажите литературу на эти темы.
C++ Подскажите где ошибка #include "stdafx.h" #include "EXEL.h" #include <iostream> #include <windows.h> using namespace std; int tmain; int data={6,8,1,2,9,3}; подробнее

Показать сообщение отдельно
ВСЕМ ПРИВЕТИК
0 / 0 / 0
Регистрация: 25.12.2013
Сообщений: 11
15.05.2014, 21:41  [ТС]     Списки. Входит ли один список в другой
В общем, есть готовый вариант. Скажите, можно ли сделать так, чтобы в списки для сравнения можно было записывать всё что угодно, а не только цифры ? Или я чего-то не понимаю, и так и должно быть ? Что нужно исправить ?

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <conio.h>
 
#define MAX_LEN 1000
 
typedef struct link
{
    struct link * next;
    double value;
} link_t;
 
// создание пустого элемента списка
static link_t * create_link()
{
    link_t * l = (link_t *)malloc(sizeof(link_t));
    l->next = NULL;
    l->value = 0;
 
    return l;
}
 
// удаление списка
static void delete_list(link_t ** l)
{
    if (l && *l)
    {
        delete_list(&((*l)->next));
        free(*l);
        *l = NULL;
    }
}
 
// создание списка из файла
static void create_list_from_file(link_t ** l, FILE * file)
{
    double c;
    fscanf(file, "%lf", &c);
 
    if (!feof(file))
    {
        (*l) = create_link();
        (*l)->value = c;
 
        create_list_from_file(&((*l)->next), file);
    }
}
 
// печать списка
static void print_list(link_t * l)
{
    link_t * current = l;
 
    while (current)
    {
        printf("%lf ", current->value);
        current = current->next;
    }
 
    printf("\n");
}
 
// проверка содержит ли первый список второй
static bool contains(link_t * l, link_t * w)
{
    // если списпи пустые
    if (l == NULL || w == NULL)
        return false;
 
    link_t * currentl = l, * currentw = w;
 
    // сравниваем два слова
    while (currentw && currentl)
    {
        if (currentl->value != currentw->value)
            break;
 
        currentl = currentl->next;
        currentw = currentw->next;
    }
 
    return !l ? false : currentw ? contains(l->next, w)  : true;
}
 
// запрашивание имени файла и чтение списка из него
static bool readList(link_t ** l)
{
    char fileName[255];
 
    // запрашиваем имя файла
    printf("Введите имя файла: \n");
    scanf("%s", fileName);
 
    // открываем файл
    FILE * file = fopen(fileName, "r");
    if (!file)
    {
        printf("Не удалось открыть файл %s\n", fileName);
        return false;
    }
 
    // создаем список читая его из файла
    create_list_from_file(l, file);
    // закрываем файл
    fclose(file);
 
    return true;
}
 
int main()
{
    // установление русского языка в консоли
    setlocale(LC_ALL, "Russian");
 
    // создание пустых списков l1, l2
    link_t * l1 = NULL, * l2 = NULL;
 
    // чтение списков
    if (!readList(&l1))
        return EXIT_FAILURE;
    if (!readList(&l2))
        return EXIT_FAILURE;
 
    // печать списков
    printf("L1: \n");
    print_list(l1);
 
    printf("L2: \n");
    print_list(l2);
 
    // проверка наличия второго списка в первом
    if (contains(l1, l2))
        printf("Первый список содержит второй\n");
    else if (contains(l2, l1))
        printf("Второй список содержит первый\n");
    else
        printf("Ни один из списков не содерит друг друга\n");
 
    // очищение списков
    delete_list(&l1);
    delete_list(&l2);
 
    _getch();
    return EXIT_SUCCESS;
   
}
 
Текущее время: 05:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru