Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 29.06.2020
Сообщений: 26

Найти минимальный среди положительных чисел Items ListBox

17.02.2021, 00:46. Показов 1402. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Получил в listBox набор чисел, как положительных так и отрицательных. Найти среди чисел listbox.items[i],например: 28 -23 -11 -23 24 43 - число 24 так и не удалось...
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
          //  listBox1.Sorted = true;
        }
 
        private void button1_Click_1(object sender, EventArgs e)
        {
            richTextBox1.Text = "";
            richTextBox2.Text = "";
            Settings.Default.Items = "";
            listBox1.Items.Clear();
            int n = int.Parse(chrbox.Text);
            int p = int.Parse(popBox.Text);
            int age = 1;
            int min = 0;
            int mo, q=0;
            List<Alive> alive = new List<Alive>();
 
            int i = 0, j = 0, k = 0;
            for (i = 0; i < n; i++)
                alive.Add(new Alive(4));
            Random rn2 = new Random();
            for (i = 0; i < alive.Count; i++)
                for (j = 0; j < alive[i].g.Length; j++)
                    alive[i][j] = rn2.Next(27);
 
            //Вывод
            int l = 0;
 
 
            while (l != 2 && age < p)
            {
 
                richTextBox1.Text += age + "поколение хромосом и их содержимое\n";
                Print(alive, richTextBox1);
 
                richTextBox2.Text += "Коэффициент выживаемости\n";
                PrintSur(alive, richTextBox2);
                //  cc(alive, richTextBox2);
                //    min = Min(alive);
 
 
                m(alive);
                MessageBox.Show(Settings.Default.Items);
                //   richTextBox2.Text += alive.IndexOf(alive.Max());
                List<Alive> person_child = new List<Alive>();
                for (i = 0; i < alive.Count - 1; i += 2)
                {
                    k = rn.Next(1, 4 - 1);
                    person_child.Add(new Alive(4));
                    person_child.Add(new Alive(4));
                    for (j = 0; j < 4; j++)
                        if (j <= k)
                        {
                            person_child[i][j] = alive[i][j];
                            person_child[i + 1][j] = alive[i + 1][j];
                        }
                        else
                        {
                            person_child[i][j] = alive[i + 1][j];
                            person_child[i + 1][j] = alive[i][j];
                        }
                }
 
                List<Alive> person_myt = new List<Alive>();
                for (i = 0; i < n / 2; i++)
                {
                    person_myt.Add(new Alive(4));
                    for (j = 0; j < 4; j++)
                        person_myt[i][j] = alive[i][j];
                    person_myt[i].Re();
                }
 
                //Сортируем
                List<Alive> temp = new List<Alive>();
                for (i = 0; i < alive.Count; i++)
                    temp.Add(new Alive(alive[i].g));
                for (i = 0; i < person_child.Count; i++)
                    temp.Add(new Alive(person_child[i].g));
                for (i = 0; i < person_myt.Count; i++)
                    temp.Add(new Alive(person_myt[i].g));
                temp = Sort(temp);
                temp.RemoveRange(n, temp.Count - (n));
                alive = (List<Alive>)temp;
                age++;
                if (min < 0)
                {
                    l = -1;
                    break;
                }
                else if (l == 1)
                {
                    l++;
                    break;
                }
                else l = 0;
                switch (l)
                {
                    case -1: MessageBox.Show("Мертвая колония"); break;
                    case 1:
 
                        richTextBox1.Text += "\n" + age + " поколение \n";
                        Print(alive, richTextBox1);
 
                        break;
                    default:
                        MessageBox.Show("неизвестная ошибка"); break;
                }
 
            }
     
               
           
 
            
          //  MessageBox.Show(Settings.Default.Min);
            // var numbers = listBox1.Items.Cast<object>().Select(obj => Convert.ToInt32(obj));
            //   int moi = numbers.Where(x => x > 0).Min();
 
 
        }
        public static Random rn = new Random();
        public static void Print(List<Alive> g, RichTextBox richTextBox1)
        {
            for (int i = 0; i < g.Count; i++)
            {
                richTextBox1.Text += g[i].ToString() + "\n";
                //richTextBox1.Text +=);
 
            }
        }
        public static void PrintSur(List<Alive> s, RichTextBox richTextBox2)
        {
            for (int i = 0; i < s.Count; i++)
                richTextBox2.Text += $"Хромосома {i + 1} = " + s[i].sub + "\n";
            //richTextBox2.Text += s[i - 27].ToString() + "\n";
        }
       
            public void m(List<Alive> a)
        {
            for (int i = 0; i < a.Count; i++)
            {
                var x = a[i].logic;
                listBox1.Items.Add(x);
                
            }
        }
         public static int Min(List<Alive> s)
           {
               int m = 0;
               for (int i = 0; i < s.Count; i++)
               {
                   var a = s[i].logic; 
                   Settings.Default.Items += a;
                
                   // richTextBox2.Text += alive.IndexOf(alive.Max());
               }
 
 
               m = Settings.Default.Items.ToArray().Where(x => x > 0).Min();
               MessageBox.Show(m.ToString());
               return m;
 
           }
       
        public static List<Alive> Sort(List<Alive> temp)
        {
            int i, j;
            for (i = 0; i < temp.Count; i++)
            {
                for (j = 0; j < temp.Count - i - 1; j++)
                {
                    if (temp[j].SumI < temp[j + 1].SumI)
                    {
                        int[] b = (int[])temp[j].g;
                        temp[j].g = (int[])temp[j + 1].g;
                        temp[j + 1].g = (int[])b;
                    }
                }
            }
            return temp;
        }
Здесь пытаю listBox
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
        private void button2_Click(object sender, EventArgs e)
        {
            int min = 0, items = 0, temp = 1;
            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                
                items = Convert.ToInt32(listBox1.Items[i].ToString());
                if (items < 0)
                    temp = items/items;
                          // -20 =1
                 
                else
                  if (items > 0 && items < temp && temp > min)
                {                    
                    min = temp;  
                    temp = items;
                  
                }
                else
           
  
                if (items > temp && items > min)
                {
                    min = temp;  
                    temp = items; 
               
                }
            else if (items < temp )
                {
                    min = items;
                    temp = items;
                }   
 
            }
            MessageBox.Show(min.ToString());
        }
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2021, 00:46
Ответы с готовыми решениями:

Найти минимальный элемент среди положительных чисел
Составьте программу для решения следующей задачи обработки одномерных массивов произвольной длины. Выведите на монитор исходные данные и...

Найти минимальный элемент среди положительных чисел в массивах (методом)
Дано два одномерных массива, состоящих из отриц. и положит. чисел. Найти минимальный элемент среди положительных чисел в обоих массивах....

Одномерный массив.Найти Минимальный элемент среди положительных чисел и Максимальный среди отрицательных
Составьте программу для решения следующей задачи обработки одномерных массивов произвольной длины.Выведите на монитор исходные данные и...

2
312 / 143 / 77
Регистрация: 23.08.2015
Сообщений: 455
17.02.2021, 06:16
Лучший ответ Сообщение было отмечено mbilins как решение

Решение

Занесите все числа в List<int> например, затем отсейте отрицательные, а потом из оставшихся найдите минимальное.
C#
1
2
3
4
5
6
7
8
List<int> data = new List<int>();
 
foreach (var num in listBox1.Items)
{
 data.Add(Convert.ToInt32(num));
}
 
int result = data.Where(t => t > 0).Min();
1
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
17.02.2021, 13:44
mbilins, Посмотрите этот код:

Добавлено через 4 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Forms Code
{
 private void button1_Click(object sender, EventArgs e)
          {
              Random rnd = new Random();
              int n = 0, nmax = 0;
               int[] ari = new int[30];
              for (int i = 0; i < 30; i++)
              {
                 n = rnd.Next(-25,25);
                 listBox1.Items.Add(n);
                 if (n > nmax)
                 {
                     nmax = n;
                    
                 }
 
              }
              textBox1.Text = nmax.ToString();  
 
            }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2021, 13:44
Помогаю со студенческими работами здесь

Найти минимальный элемент среди положительных чисел массива и максимальный элемент среди отрицательных
Задание: В массиве R найти минимальный элемент среди положительных и максимальный среди отрицательных. Есть код на паскале. const...

Найти минимальный элемент среди положительных чисел массива и максимальный элемент среди отрицательных
В одномерном массиве найти минимальный элемент среди положительных чисел и максимальный элемент среди отрицательных чисел и переставить их...

Найти минимальный среди положительных элементов заданного массива X из чисел N (<=15)
Ребят, доброе утро. Озадачен таким вот: Найти минимальный среди положительных элементов заданного массива X из чисел N (&lt;=15)....

Циклы. Найти минимальный (максимальный) элемент среди положительных (отрицательных) чисел
Хеллп,ребята. Дана последовательность целых чисел, за которой следует 0. Определить минимальный элемент среди положительных чисел и...

Создать массив из 20-ти положительных случайных чисел и найти минимальный элемент среди элементов кратных 3
Создать массив из 20-ти положительных случайных чисел и найти минимальный элемент среди элементов кратных 3. Решила задачу так, нужно...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru