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

Заполнение массива числами

27.04.2022, 16:20. Показов 687. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я хочу реализовать заполнение массива числами через radioButton1-ны по одному числу, вроде заполняю но в итоге получаю не понятно что. И где ошибка не могу понять



код ниже

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
private void Form1_Load(object sender, EventArgs e)
        {
            b1 = true;
            h = 0;
            listBox1.Items.Clear();
        }
 
 private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton1.Checked)
            {
                b1 = true;
                h++;
            }
            masData(h, radioButton1.TabIndex);
        }
 
private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                b1 = true;
                h++;
            }
            masData(h, radioButton2.TabIndex);
        }
 
private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton3.Checked)
            {
                b1 = true;
                h++;
            }
            masData(h, radioButton3.TabIndex);
        }
 
private void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton4.Checked)
            {
                b1 = true;
                h++;
            }
            masData(h, radioButton4.TabIndex);
        }
 
private void radioButton5_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton5.Checked)
            {
                b1 = true;
                h++;
            }
            masData(h, radioButton5.TabIndex);
        }
 
private void masData(int k, int d)
{
   for (int i = 0; i < k; i++)
   {
      if (b1)
      {
          mas[i] = d;
          listBox1.Items.Add(Convert.ToString(mas[i]));
      }
      b1 = false;
  }
  if (k == mas.Length)
     {
       listBox1.Items.Add("Введённые числа массива:");
       for (int i = 0; i < mas.Length; i++)
       {
          listBox1.Items.Add(Convert.ToString(mas[i]));
       }
   }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2022, 16:20
Ответы с готовыми решениями:

Найти сумму четных элементов массива целых чисел. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200
Найти сумму четных элементов массива целых чисел. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200

Заполнение массива неповторяющимися числами
При повторном перемешивании массива, массив не изменяется. В чём может быть дело? public static int shuffle(int arr) { ...

Заполнение массива случайными числами
Нужно создать массив и заполнить его рандомными числами

11
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
27.04.2022, 16:52
C#
1
2
3
4
5
6
        private void rb_CheckedChanged( object sender, EventArgs e )
        {
            RadioButton rb = ( RadioButton ) sender;
            if ( rb.Checked )
                textBox1.Text += rb.Text + Environment.NewLine;
        }
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
27.04.2022, 16:53
Разве что заполнять массив из радиокнопок - тупость дикая
0
88 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 197
27.04.2022, 17:35  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Разве что заполнять массив из радиокнопок - тупость дикая
Цитата Сообщение от wizard41 Посмотреть сообщение
private void rb_CheckedChanged( object sender, EventArgs e )
        {
            RadioButton rb = ( RadioButton ) sender;
            if ( rb.Checked )
                textBox1.Text += rb.Text + Environment.NewLine;
        }
Мне массив нужно заполнить, а не textBox1.Text и не listBox1. В listBox1 только получить значения массива
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
27.04.2022, 17:42
Цитата Сообщение от shsb62 Посмотреть сообщение
Мне массив нужно заполнить
Какой длины?
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
27.04.2022, 17:51
wizard41, Я так понимаю то что в TabIndex, такая и длина.

shsb62, Может так?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//Один обработчик для всех RadioButton
private void ActionRadioButton_CheckedChanged(object sender, EventArgs e)
{
    
    RadioButton rdb =  sender as RadioButton;
    masData(rdb.TabIndex);
}
 
private void masData(int tabIndex)
{
    mas = new int[tabIndex];
    for (int i = 0; i < tabIndex; i++)
    {
        if (b1)
        {
            mas[i] = i + 1;
            listBox1.Items.Add(mas[i]);
        }
        b1 = false;
    }
    //........
    //........
}
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
27.04.2022, 17:55
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
    public partial class Form1 : Form
    {
        int N, i = 0;
        int[] Arr;
        public Form1()
        {
            InitializeComponent();
            N = int.Parse( textBox2.Text );
            Arr = new int[ N ];
        }
 
 
        private void rb_CheckedChanged( object sender, EventArgs e )
        {
            RadioButton rb = ( RadioButton ) sender;
            if ( i < N )
            {
                if ( rb.Checked )
                {
                    Arr[ i ] = int.Parse( rb.Text );
                    listBox1.Items.Add( rb.Text );
                    i++;
                }     
            }
            else
            {
                if ( rb.Checked )
                    listBox1.Items.Add( "Массив заполнен!" );
            }    
        }
 
        private void textBox2_TextChanged( object sender, EventArgs e )
        {
            N = int.Parse( textBox2.Text );
            Arr = new int[ N ];
        }
    }
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
27.04.2022, 17:57
Цитата Сообщение от Kazbek17 Посмотреть сообщение
Я так понимаю то что в TabIndex, такая и длина.
Хм, подозрительно.. )
0
88 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 197
27.04.2022, 21:10  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Хм, подозрительно.. )
Да все radioButton имеют TabIndex согласно индексу

Цитата Сообщение от Kazbek17 Посмотреть сообщение
shsb62, Может так?
C#
1
for (int i = 0; i < tabIndex; i++)
Если так то когда TabIndex будет равен 5, то и цикл будет 5 чисел. Мне нужно по одному числу записывать в массив
0
88 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 197
29.04.2022, 10:21  [ТС]
Всё я добился того, что мне нужно и выкладываю сюда

объявление переменных
C#
1
2
3
4
int k = 0;
 int g = 0;
 int i;
 int[] arr = new int[10];
событие заполнения массива по одному числу
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void masData( int f, int t, int d)
 {
   radioButton1.Checked = false;
   radioButton2.Checked = false;
   radioButton3.Checked = false;
   radioButton4.Checked = false;
   radioButton5.Checked = false;
   if (t < 11)
   {
      for (i = f; i < t; i++)
      {
         arr[i] = d;
         listBox1.Items.Add(Convert.ToString(arr[i]));
      }
    }
    if(t == arr.Length)
    {
       LoadData();  // запускаем событие вывода массива в listBox3
    }
 }
событие считывания массива после заполнения
C#
1
2
3
4
5
6
7
private void LoadData()
{
   for (int j = 0; j < 10; j++)
   {
      listBox3.Items.Add(Convert.ToString(arr[j]));
   }
}
событие передачи параметров для заполнения массива через radioButton
событие других radioButton аналогичны
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void radioButton1_CheckedChanged(object sender, EventArgs e)  // 1)
 {
    if (radioButton1.Checked) // если нажали radioButton
    {
       k++;                   // k + 1
       if (k == 1)            // если k = 1, то есть первый шаг
       {
          g = 0;              // g = 0 сдвиг на один шаг меньше
       }
       else if (k > 1)        // если k > 1 
       {
          g++;                // g увеличиваем на + 1
       }
       masData(g, k, radioButton1.TabIndex); // и передаём в событие заполения массива
    }
 }
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
29.04.2022, 13:49
shsb62,Какой то магический код, не понятно что вы тут смещаете и передвигаете, но самое главное, что код у вас работает.
0
88 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 197
30.04.2022, 17:58  [ТС]
Цитата Сообщение от Kazbek17 Посмотреть сообщение
Какой то магический код,
Какой то да. Вышла еще одна проблема. Когда я объявляю массив в начале кода

C#
1
int[] arr2 = new int[10];
у меня работает заполнение массива и вывод правильно
Название: 124.png
Просмотров: 33

Размер: 2.1 Кб

Но если я в начале объявляю так в начале кода
C#
1
int[] arr2;
а потом в событии
C#
1
2
int k1 = 10; // это временно, так как число k1 будет браться из бд
arr2 = new int[k1];
То получаю вот это
Название: 123.png
Просмотров: 33

Размер: 2.2 Кб

Подскажите как мне объявить массив в событии, что бы внесенные числа считались
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2022, 17:58
Помогаю со студенческими работами здесь

Заполнение массива уникальными числами
Здравствуйте! Есть код: wayi = 4; Random Random_variable = new Random(DateTime.Now.Millisecond); public static int...

Заполнение массива случайными числами
const n = 10; type miniarr = array of integer; var a, b: miniarr; procedure arr_rand (k:integer; var...

Заполнение массива случайными числами
Вот есть код: using System; { class Program { static void Main(string args) { int arr = new int; ...

Заполнение массива числами с консоли
Привет. Такая проблема, всегда заполнял массивы случайными числами, а сейчас надо заполнить числами, которые введет пользователь в консоль....

Заполнение массива неповторяющимися числами
всем привет! как нада сделатъ чтоб не был одинаковие значение в массивe? using System; using System.Collections.Generic; using...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru