5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
1

Из списка символов S1, S2 . Sn получить список Sm + 1, Sm +2 . Sn (m <n)

10.05.2021, 19:39. Показов 2456. Ответов 33

Здраствуйте вот есть такое условие,не могу "въехать" как решить данную задачу,буду благодарен
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2021, 19:39
Ответы с готовыми решениями:

Набор символов в формате списка разбить в список чисел и список слов
Всем добрый день! Мне дали задачу написать программу, в которую вводится набор символов в...

Из списка (A B) C (D E) получить список (D E)
Из списка ((A B) C (D E)) получить список (D E)

Из списка получить другой список
Здравствуйте. Помогите, пожалуйста, начинающему программисту с заданием по Лиспу. Собственно,...

Получить из списка - список списков
Всем добрый день. Подскажите пожалуйста мне необходимо реализовать следующее: на входе строка вида...

33
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 21:26 2
Цитата Сообщение от Nickname1244 Посмотреть сообщение
Из списка символов S1, S2 . Sn получить список Sm + 1, Sm +2 . Sn (m <n)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{
    size_t n = 10;
    size_t m = 3;
    std::list<char> l1;
    for (size_t i = 0; i < n; ++i)
        l1.push_back('A' + char(i));
 
    std::list<char> l2;
    for (auto it = std::next(l1.begin(), m); it != l1.end(); ++it)
        l2.push_back(*it);
 
 
    for (auto ch: l1)
        std::cout << ch;
    std::cout << std::endl;
 
    for (auto ch: l2)
        std::cout << ch;
    std::cout << std::endl;
}
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 21:49  [ТС] 3
oleg-m1973, извините,но можете как-то попроще написать,так вот для образца функция формировки списка с н элементов

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
List* make_list(int n)
{
List*  beg= new List;   
cout << "ВВОДИТЕ  " <<n <<"  ЭЛЕМЕНТОВ СПИСКА"<<endl;
    cin>>beg->a ; 
beg->next = NULL;
List*р=beg;     
for (int i=1;i<n;i++)
{
р->next= new List;     
р=р->next;        
cin>> р->a ; 
р ->next = NULL;   
}
return beg;
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 21:52 4
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, извините,но можете как-то попроще написать,так вот для образца функция формировки списка с н элементов
Я тебе показал самый простой вариант. Алгоритм, надеюсь, понятен? Дальше, думаю, справишься сам.
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 21:58  [ТС] 5
oleg-m1973, Можете пожалуйста прокометировать каждую строку ,то не очень понимаю (

Добавлено через 3 минуты
oleg-m1973, и ваша программа не работает(
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 21:59 6
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, и ваша программа не работает(
Да ладно. В чём это выражается?
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 22:06  [ТС] 7
oleg-m1973, std::list<char> l1;
Использование имени типа не допускается,l1 не определен
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 22:07 8
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, std::list<char> l1;
Использование имени типа не допускается,l1 не определен
Это на называется "не компилируется". Работать она ещё не начинала.
Подключи заголовок <list>
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 22:11  [ТС] 9
oleg-m1973, Можете объяснить пожалуйста суть условия задачи(Насчет программы извините все работает)
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 22:13 10
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, Можете объяснить пожалуйста суть условия задачи(Насчет программы извините все работает)
Пропустить в исходном списке m элементов, остальные скопировать в другой список.
1
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 22:31  [ТС] 11
oleg-m1973, Спасибо)

Добавлено через 17 минут
oleg-m1973, Помогите пожалуйста с программой,правда не могу ничего понять((
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 22:44 12
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, Помогите пожалуйста с программой,правда не могу ничего понять((
Что конкретно ты не можешь понять?
Вот здесь
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
for (auto it = std::next(l1.begin(), m); it != l1.end(); ++it)
я пропускаю m элементов, остальные добавляю во второй список
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 22:50  [ТС] 13
oleg-m1973, вы просто я вижу реальноо программист с опятом и вам доступны такие программы коротенькие,я только начинаю и поэтому попросил написать,программу как по проимеру ввода)
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 22:53 14
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, вы просто я вижу реальноо программист с опятом и вам доступны такие программы коротенькие,я только начинаю и поэтому попросил написать,программу как по проимеру ввода)
Ты показал программу со своей реализацией списка. Это другое и намного сложнее. Тебе это точно нужно? Какое конкретно у тебя задание, написать свой список? Или можно воспользоваться стандартным?
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 22:55  [ТС] 15
Вот полное задание Из списка символов S1, S2 . Sn получить список Sm + 1, Sm +2 . Sn (m <n),я думаю нужно написать свой,т.к стандартные мы не учили
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 23:03 16
Цитата Сообщение от Nickname1244 Посмотреть сообщение
Вот полное задание Из списка символов S1, S2 . Sn получить список Sm + 1, Sm +2 . Sn (m <n),я думаю нужно написать свой,т.к стандартные мы не учили
Тогда начни с начала - сделай список и функцию, которая добавляет элемент в конец этого списка, push_back. Этого будет достаточно, чтоб решить остальное
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 23:12  [ТС] 17
oleg-m1973,
Вот что у меня есть я начинал пробовать ,а что дальше не пойму
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
#include <conio.h>
#include <iostream>
using namespace std;
struct List
{
    float a;
    List* next;
};
 
List * Init()
{
    List *beg = new List;
    int n;
    cout << "ВВЕДИТЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ СПИСКА" << endl;
    cin >> n;
    cout << "ВВОДИТЕ  " << n << "  ЭЛЕМЕНТОВ СПИСКА" << endl;
    cin >> beg->a;
    beg->next = NULL;
    List *p = beg;
    for (int i = 1;i < n;i++)
    {
        p->next = new List;
        p = p->next;
        cin >> p->a;
        p->next = NULL;
    }
    return beg;
}
List*Print(List *b)
{
    List *end;
    cout << "\nСПИСОК" << endl;
    while (b)
    {
        cout << b->a << " \t "; 
        end = b;
        b = b->next; 
    }
    return end; 
 
}
List * Add_end(List *beg, const int a)
{
    List *t = beg;
 
    while (t->next) t = t->next;
    List *p = new List;
    p->a = a;   
    t->next = p; 
    p->next = NULL; 
    return beg;
}
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 23:22 18
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, oleg-m1973, Вот что у меня есть я начинал пробовать ,а что дальше не пойму
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
#include <conio.h>
#include <iostream>
using namespace std;
struct List
{
    float a;
    List* next;
};
 
void push_back(List *&head, List *&tail, float val)
{
    List *node = new List;
    node->a = val;
    node->next = nullptr;
    if (!head)
        head = tail = node;
    else
        tail = tail->next = node;
}
 
int main()
{
    List *head1 = nullptr, *tail1 = nullptr;
    int n;
    cout << "ВВЕДИТЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ СПИСКА" << endl;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        std::cout << i << ": " << std::endl;
        float x;
        std::cin >> x;
        push_back(head1, tail1, x);
    }
 
    for (List *p = head1; p != nullptr; p = p->next)
        std::cout << p->a << ' ';
 
    std::cout << std::endl;
}
Добавлено через 1 минуту
Как сделать второй список и скопировать в него элементы из первого, надеюсь, догадаешься сам
0
5 / 4 / 0
Регистрация: 09.12.2020
Сообщений: 362
10.05.2021, 23:25  [ТС] 19
oleg-m1973, Оно просто выводит список на екран?
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2021, 23:26 20
Цитата Сообщение от Nickname1244 Посмотреть сообщение
oleg-m1973, Оно просто выводит список на екран?
"Оно" сначала создаёт список, потом выводит на экран
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2021, 23:26
Помогаю со студенческими работами здесь

Функция создающая список строк из списка символов и длинны
Здравствуйте! Помогите, пожалуйста. Мне надо создать функцию которая создаёт список строк из списка...

Из существующего списка получить новый список
Доброго времени суток. Прошу помощи разъяснить в чем проблема кода Из списка ,e,,c] получить...

Из списка ребер получить список смежностей
Ребят, помогите пожалуйста! Из-за расхождений по академическому отпуску мимо меня пролетел предмет...

Как из списка кортежей получить список?
-&gt; ... Добавлено через 58 минут convert :: ( -&gt; Верно определены типы? Добавлено через 13...

Получить из заданного списка другой список
Из заданного списка ( a (b (c) d (( e ((f)))))) получить список ( f b (a)) двумя способами: в виде...

Как получить элемент списка вложенного в список?
Как из списка ,] Достать 4?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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