0 / 0 / 0
Регистрация: 30.06.2017
Сообщений: 10
|
||||||
1 | ||||||
Создать список из целых чисел. Подсчитать количество отрицательных элементов, создав из них новый список01.07.2017, 07:08. Просмотров 3772. Ответов 17
Метки нет Все метки)
(
Создать список из целых чисел. Подсчитать количество отрицательных элементов, создав из них новый список. Срочно надо, курсач сдавать через 3 часа. Есть готовое решение, но оно не работает, а разбираться некогда. Помогите пожалуйста!
0
|
|
01.07.2017, 07:08 | |
Список: Подсчитать количество всех отрицательных и положительных чисел... Как подсчитать количество одинаковых элементов в списке и составить из них список? |
|
Заклинатель змей
576 / 477 / 207
Регистрация: 30.04.2016
Сообщений: 2,328
|
|
01.07.2017, 10:36 | 2 |
Ivan12199,
Оффтоп: Курсач @ Пишете за 3 часа до сдачи Если это ваше "готовое решение", то оно не подходит, т.к описывает стек , а не список (кстати, список нужен одно- или двухнаправленный?)
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
||||||
01.07.2017, 12:14 | 3 | |||||
Код
andrew@andrew0716 ~/c/glib $ gcc negative_elements.c `pkg-config --cflags --libs glib-2.0` andrew@andrew0716 ~/c/glib $ ./a Enter some numbers and any other symbol when done... > 45 > 54 > -3 > 1 > -2 > q 2 negative numbers. -3 -2 andrew@andrew0716 ~/c/glib $ ./a Enter some numbers and any other symbol when done... > 3 > 2 > 1 > q 0 negative numbers. andrew@andrew0716 ~/c/glib
1
|
01.07.2017, 20:12 | 4 | |||||
Конечно, 3 часа уже пролетели, и не актуально, но вот вариант с использованием стандартных библиотек:
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
|
18.12.2018, 20:24 | 5 |
@easybudda А как можно сделать,чтобы этот список из отрицательных эл-ов выводился в порядке возрастания , -3 -2 -1 ...
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
|
18.12.2018, 20:37 | 6 |
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
|
18.12.2018, 21:00 | 7 |
Добавлено через 12 минут
Не подскажешь ,а могу ли я тогда сначала отсортировать всё по возрастанию,а потом все отрицательные как раз и будут в самом начале списка и остается только вывести готовый ответ. Только всё с той же сортировкой,не знаю как ее произвести,могу я скинуть код ,чтобы ты помог?
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
|
18.12.2018, 22:28 | 8 |
xraze666, да могу, наверное. Просто из любопытства: а принципиально, чтобы оно списком было? Массив сортировать как-то проще...
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
||||||
18.12.2018, 22:34 | 9 | |||||
Ну от меня требуют по заданию вывести из одного списка,новый с отриц.знач по возрастанию,поэтому думаю,что да. Возможно можно отсортировать по другому,если покрутить как-то цикл,потому что у меня получается сравнить в списке только первый и последующий за ним элемент,а если как-то сравнить первый с остальными и из остальных будет тоже отрицательный сравнить их и вывести ,что меньше,но это как обычно легко и понятно только на словах) Вот код , у меня если запустить , то выводит просто список из отрицательных эл-ов
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
||||||
18.12.2018, 23:36 | 10 | |||||
Это учат так - указатели глобальными переменными делать? При том, что в программе два листа нужны...
В любом случае:
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
|
19.12.2018, 00:09 | 11 |
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
||||||
19.12.2018, 00:21 | 12 | |||||
Да,брал пример ,создания списка,у преподавателей .
Всё сортируется хорошо,большое спасибо. ТОлько появилась небольшая проблема в конце появляются мусорные значения почему-то. Сделал так
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
|
19.12.2018, 00:25 | 13 |
А не нужно так делать! В функцию нужно передавать указатель на начало списка, дальше она сама всё сделает. И уже потом в цикле элементы выводить.
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
|
19.12.2018, 00:39 | 14 |
Никак не пойму,указатель на начало списка у меня это First,то есть sort(First) ,если должно быть так и я всё правильно понял,то ничего не меняется. указатели прям какая-то боль.А стоп,кажется разобрался,щас попробую и отпишу
Добавлено через 5 минут easybudda, Всё,полностью разобрался и подредактировал , большое спасибо тебе!!! А то сортировка массива если была понятна ,то сортировка списка полный лес,буду разбираться и в ней,ещё раз спасибо!
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
|
19.12.2018, 17:35 | 15 |
easybudda, Снова здравствуйте,сдавал сегодня работу и как оказалось,выводить отрицательные элементы повозрастанию в Новый Список,но при этом не делая новую структуру и тд,я не совсем понял как это сделать ,и создал новый список и уже через него работал ,сказали так нельзя и слишком много памяти забирает. Подскажи пожалуйста ,как сделать вывод в этот новый список ,не создавая его как я понял . Код дописанный могу скинуть
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
|
19.12.2018, 19:11 | 16 |
Я вообще ничего не понял. Как можно создать новый список не создавая его узлов? Единственное, что на ум приходит - в исходном списке переставить элементы так, чтобы сначала шли все положительные, а за ними все отрицательные. Тогда указатель на первый узел с отрицательным значением и будет как бы списком с отрицательными числами. При желании их можно отсортировать. Для сортировки вполне подойдёт функция, которую я выше выложил.
0
|
0 / 0 / 0
Регистрация: 29.09.2018
Сообщений: 32
|
||||||
19.12.2018, 19:54 | 17 | |||||
easybudda, Извиняюсь,не так написал. Требуется создания нового списка,не трогая исходный. Т.е мы нашли в исходном списке,нужные нам значения и нужно переместить их в новый список,ну а там уже отсортировать не сложно. Чего собственно я прошу помочь сделать,это как создать новый список и поместить в него уже нужные нам значения.
Код на данный момент такой(Считает все отриц эл-ты в порядке возрастания)
easybudda, Я попытался создать новый список,с новой структурой,но мне надавали по голове,из-за слишком большого сжирания памяти. Нужно создать новый список,но с той же структурой видимо,не "пачкая" ее и исходный список.
0
|
Модератор
![]() ![]() ![]() ![]() 10897 / 6813 / 1623
Регистрация: 25.07.2009
Сообщений: 12,518
|
|
19.12.2018, 23:15 | 18 |
Попробуй объяснить (в первую очередь самому себе), что именно здесь происходит... А сразу после должно бы грохнуться на со словами Null pointer exception или вроде того. И никакого создания нового списка не видно. Из исходного печатаются те, которые меньше 0.
0
|
19.12.2018, 23:15 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Подсчитать количество целых чисел, входящих в список только один раз Создать список из целых чисел. Перед всеми минимальными элементами вставить новый элемент
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |