2 / 2 / 1
Регистрация: 28.11.2016
Сообщений: 85
|
||||||
1 | ||||||
После каждого элемента списка добавить предшествующую ему часть списка18.09.2017, 22:34. Показов 7860. Ответов 16
Метки нет (Все метки)
Пусть дан список. После каждого элемента добавьте предшествующую ему часть списка. Не совсем понимаю,как это сделать. Единственное,что я смогла сделать,это создать список и вывести его))
0
|
18.09.2017, 22:34 | |
Ответы с готовыми решениями:
16
Добавить после каждого положительного элемента списка нулевой элемент Обработка списка: после каждого нуля добавить предшествующую часть списка После каждого элемента списка добавьте ту часть списка, которая была перед ним Добавить символ звездочки после каждого неотрицательного элемента списка |
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
|
|
18.09.2017, 23:41 | 2 |
Список стоило бы оформить отдельным классом вместо того чтобы управлять указателями из main'а.
Для вывода два варианта: либо проходить с начала до искомого, попутно выводя найденное. Либо сделать список двусвязным (к переменной *next добавить *prev) и перебирать от текущего до начала.
0
|
18.09.2017, 23:51 | 3 |
Здравствуйте!
Судя по формулировке, задание можно понимать так (на мой взгляд): 1. Допустим, существует список (3, 6, 1, 8). 2. После каждого элемента добавляем пердшествующую ему часть списка следующим образом. Перед первым элементом ничего нет, следовательно, добавить нечего. После второго элемента добавляем первый (в нашем случае 3). После третьего элемента добавляем первый и второй (3 и 6) и так далее. Результат будет таким: 3, 6, 3, 1, 3, 6, 8, 3, 6, 1
0
|
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
|
|
19.09.2017, 00:10 | 4 |
А может так?
3618 -> 3()618 -> 36(3)18 -> 3631(363)8 -> 36313638(3631363) -> 363136383631363
0
|
245 / 139 / 53
Регистрация: 23.11.2015
Сообщений: 394
|
||||||
19.09.2017, 00:55 | 6 | |||||
0
|
2 / 2 / 1
Регистрация: 28.11.2016
Сообщений: 85
|
|
19.09.2017, 11:55 [ТС] | 7 |
нужно именно указателями, класс создавать нельзя
Добавлено через 8 минут сделать список двусвязным 5 минут, просто как саму функцию сделать, как алгоритм сделать, я не представляю пока
0
|
2 / 2 / 1
Регистрация: 28.11.2016
Сообщений: 85
|
|
19.09.2017, 15:45 [ТС] | 10 |
Старый воин, да
0
|
19.09.2017, 19:25 | 11 |
Я правильно понимаю, что создать список с использованием указателей для Вас трудностей не составляет? В таком случае, воспользуйтесь алгоритмом, который Babysitter Вам предложил. Провести аналогии с методами класса list думаю тоже не сложно.
Или требуется помощь в создании функций работы со списком на указателях?
0
|
2 / 2 / 1
Регистрация: 28.11.2016
Сообщений: 85
|
|
19.09.2017, 23:00 [ТС] | 12 |
Старый воин, я и половины не понимаю,что там написано.методы и классы еще не изучала, вот поэтому сложно разобраться
Добавлено через 1 час 20 минут Старый воин, помогите,пожалуйста! завтра лабу сдавать, а я все сижу туплю
0
|
20.09.2017, 05:00 | 13 | |||||
Сообщение было отмечено marymap как решение
Решение
Утром на форум загляните. Попробую помочь.
Добавлено через 4 часа 43 минуты Вот, как-то так
0
|
2 / 2 / 1
Регистрация: 28.11.2016
Сообщений: 85
|
|
20.09.2017, 13:03 [ТС] | 14 |
Старый воин, я вас обожаю!!! спасибо, все понятно объяснили! СПАСИБО.
Добавлено через 1 час 5 минут Старый воин, только у меня выводит неправильно в конце, какое то число -842150451. как это исправить?
0
|
20.09.2017, 17:35 | 15 | ||||||||||
Сообщение было отмечено marymap как решение
Решение
Здравствуйте!
Это так ноль выводится. Я предупредил, что заполнение списка не совсем правильно происходит. Я использую Linux, поэтому у меня вместо этих цифр ноль выводится. Сейчас все поправил и протестировал в Visual Studio 2015. Все должно быть хорошо. В коде лишние комментарии убрал и прокомментировал только то, что устраняет эту ошибку. Внимательно сравните со старым вариантом.
Добавлено через 15 секунд Здравствуйте! Это так ноль выводится. Я предупредил, что заполнение списка не совсем правильно происходит. Я использую Linux, поэтому у меня вместо этих цифр ноль выводится. Сейчас все поправил и протестировал в Visual Studio 2015. Все должно быть хорошо. В коде лишние комментарии убрал и прокомментировал только то, что устраняет эту ошибку. Внимательно сравните со старым вариантом.
Добавлено через 3 минуты Вот же... мышка клик задублировала
1
|
2 / 2 / 1
Регистрация: 28.11.2016
Сообщений: 85
|
|
27.09.2017, 12:00 [ТС] | 16 |
Старый воин, спасибо большое!! только там нужно будет создавать элементы не пока n>0, а пока n-1>0 (44 строка). потому что если до n идти, создастся на 1 элемент больше) СПАСИБО ВАМ ОГРОМНОЕ!!!
1
|
27.09.2017, 21:49 | 17 |
Да, верно!
0
|
27.09.2017, 21:49 | |
27.09.2017, 21:49 | |
Помогаю со студенческими работами здесь
17
После каждого элемента списка, стоящего на четной позиции добавить элемент =-1 Вставить после каждого нечетного элемента первого списка наибольший элемент второго списка Удалить из каждого списка два элемента после каждого элемента с нечетным значением и подсчитать количество удаленных Добавить в конец каждого элемента списка восклицательный знак Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |