Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 11

Не могу вывести на экран только положительные элементы списка

28.01.2018, 19:34. Показов 1185. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет помогите дописать код в конце. Организовать циклический двунаправленный линейный список с функцией вывода на экран только положительных элементов списка.
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
using System;
using System.Collections.Generic;
 
namespace lab2
{
    public class LinkedList<T>                                          //класс двунаправленного циклического списка
    {
        Node<T> head;                                                   //первый элемент списка
        int count;                                                      //количество элементов в списке
 
        public bool IsEmpty()                                           //метод проверки списка на пустоту
        {
            return count == 0;                                          //возвращаем true, если список пуст, и false если список не пуст
        }
 
        public int Count()                                              //метод, возвращающий количество элементов в списке
        {
            return count;                                               //возвращаем количество элементов в списке
        }
 
        public void Show()                                              //метод просмотра всего списка элементов
        {
            Console.WriteLine("Двунаправленный циклический список");
            Node<T> tmp = head;                                         //создаем новый элемент и устанавливаем его первым
 
            if (tmp != null)                                            //если список не пуст
            {
                do
                {
                    Console.Write(tmp.Data + " ");                      //выводим значение элемента
                    tmp = tmp.Next;                                     //передвигаем ссылку на элемент дальше по списку
 
                } while (tmp != head);                                  //пока снова не попадём на первый элемент
            }
            Console.WriteLine();
        }
 
        public void Clear()                                             //метод очистки списка
        {
            head = null;                                                //удаляем ссылки на первый и последний элемент
            count = 0;                                                  //обнуляем счетчик элементов
        }
 
        public void Add(T data)                                         //метод добавления элемента в список
        {
            Node<T> node = new Node<T>(data);                           //создаем новый элемент и присваеваем ему значение
 
            if (head == null)                                           //если список пуст
            {
                head = node;                                            //устанавливаем новый элемент первым
                head.Next = node;                                       //устанавливаем ссылку на следующий элемент в самого себя
                head.Previous = node;                                   //и на предыдущий элемент в самого себя
            }
            else                                                        //иначе
            {
                node.Previous = head.Previous;                          //устанавливаем ссылку на последний элемент
                node.Next = head;                                       //устанавливаем ссылку нового элемента на первый
                head.Previous.Next = node;                              //соединяем последний элемент и добавленный
                head.Previous = node;                                   //соединяем первый элемент и добавленный
            }
            count++;                                                    //увеличиваем количесвто элементов в списке
        }                                      
 
                              
        
                
                
            
    }
}
Здесь на форуме нашел похожий ответ, но прикрутить к своему коду не получается
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public void Variant_20()
            {
                Console.Clear();
                Console.WriteLine("20.  Организовать однонаправленный линейный список с функцией вывода на экран только положительных элементов списка.\n");
                if (head == null)
                    return;
                ListElem next = head.Next;
                while(next != null)
                {
                    if (next.Value > 0)
                        Console.WriteLine(next.Value);
                    next = next.Next;
                }
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2018, 19:34
Ответы с готовыми решениями:

Записать числа в список; вывести на экран положительные элементы получившегося списка и их сумму
Добрый. Дана программа, позволяющей ввести 5 целых чисел, записать их в список, вывести этот список на экран: #include...

Вывести на экран номер первой строки матрицы, в которой содержаться только положительные элементы
Дана такая задача: Задана матрица 5х10. Вывести на экран номер ее первой строчки, в которой содержаться только положительные элементы....

Создать список из десяти элементов и вывести его на экран. Затем вывести только четные элементы списка
1. Создать список из десяти элементов и вывести его на экран. Затем вывести только четные элементы списка.

6
Заблокирован
29.01.2018, 00:02
Что-то мне подсказывает, что должно быть так (при условии что вывод работает)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 public void ShowPositiv()                                              //метод просмотра всего списка элементов
        {
            Console.WriteLine("Двунаправленный циклический список");
            Node<T> tmp = head;                                         //создаем новый элемент и устанавливаем его первым
 
            if (tmp != null)                                            //если список не пуст
            {
                do
                {
if(tmp.Data>0)
                    Console.Write(tmp.Data + " ");                      //выводим значение элемента
                    tmp = tmp.Next;                                     //передвигаем ссылку на элемент дальше по списку
 
                } while (tmp != head);                                  //пока снова не попадём на первый элемент
            }
            Console.WriteLine();
        }
1
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 11
29.01.2018, 10:35  [ТС]
sharpdev08, попробовал твой вариант, ругается, прнтскрин во вложении
Миниатюры
Не могу вывести на экран только положительные элементы списка  
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.01.2018, 10:48
Может быть вот так :

C#
1
if(tmp.Data.Value>0)
Добавлено через 24 секунды
Data это что такое?
0
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 11
29.01.2018, 10:51  [ТС]
неа, не выходит принтскрин во вложении
Миниатюры
Не могу вывести на экран только положительные элементы списка  
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.01.2018, 10:53
Цитата Сообщение от Angelcity1987 Посмотреть сообщение
неа, не выходит принтскрин во вложении
Класс Node не вижу у Вас. Что в нем?
0
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 11
29.01.2018, 12:10  [ТС]
Содержимое Node
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace lab2
{
    public class Node<T>                        //класс элемента списка
    {
        public T Data { get; set; }             //значение элемента
        public Node<T> Previous { get; set; }   //предыдущий элемент
        public Node<T> Next { get; set; }       //следующий элемент
 
        public Node(T data)                     //конструктор элемента
        {
            Data = data;                        //установить значение элемента указанным значением
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2018, 12:10
Помогаю со студенческими работами здесь

Упорядочить по возрастанию только: положительные элементы списка
Упорядочить по возрастанию только: положительные элементы списка

Упорядочить по возрастанию только: положительные элементы списка
Упорядочить по возрастанию только: положительные элементы списка

Упорядочьте по возрастанию только: положительные элементы списка
Упорядочьте по возрастанию только: положительные элементы списка

Вывести первые N положительные элементы списка
Здравствуйте, нужна помощь, необходимо на Лиспе написать программу которая будет выводить первые N положительные элементы списка, пока...

Сортировать по увеличению только положительные элементы списка. (Работа с линейными односвязными списками)
Ребятки, помогите, пожалуйста, решить это задание. Я сама вообще не знаю как это делается, очень сильно нужна ваша помощь. Сортировать...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru