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

Массив. Создание массива в первой форме и передача его же в остальные

01.04.2017, 11:25. Показов 4187. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как это сделать?

Вот так я создала массив в первой форме:
C#
1
2
3
4
5
6
7
8
9
10
11
12
        private void button7_Click(object sender, EventArgs e)
        {
            Int32 n;
            n = Convert.ToInt32(textBox1.Text);
            int[] M = new int[n];
            Random rand = new Random();
            textBox1.Clear();
            for (int i=0; i<n; i++)
            {
                M[i] = rand.Next(-99, 99);
                textBox2.AppendText(M[i] + " ");
            }
А во второй надо использовать его же, вот код функции, которую я должна поместить в эту программу:
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
     
static void remove(int[] M, int n)
        {
            int i, c1 = -1, c2 = -1;
            int[] m = new int[n];
            for (i = 0; i < n; i++)
                m[i] = M[i];
 
            Console.WriteLine("\nИсходный массив:");
            for (i = 0; i < n; i++)
                Console.Write(" {0}", M[i]);
 
            for (i = 0; i < n; i++)
                if (m[i] % 2 == 0)
                {
                    c1 = i;
                    break;
                }
 
            if (c1 == -1)
            {
                Console.WriteLine("\nНет четного элемента");
                return;
            }
 
            if (c1 + 1 == n)
            {
                Console.WriteLine("\nЕсть один четный элемент и нет второго");
                return;
            }
 
            for (i = c1 + 1; i < n; i++)
                if (m[i] % 2 == 0)
                {
                    c2 = i;
                    break;
                }
 
            if (c2 == -1)
            {
                Console.WriteLine("\nЕсть один четный элемень и нет второго");
                return;
            }
 
            Console.WriteLine("\nПосле удаления второго четного элемента получаем следующий массив:");
            if (c2 + 1 == n)
            {
                for (i = 0; i < c2; i++)
                    Console.Write(" {0}", m[i]);
                return;
            }
 
            for (i = c2; i < n - 1; i++)
                m[i] = m[i + 1];
            for (i = 0; i < n - 1; i++)
                Console.Write(" {0}", m[i]);
            return;
        }
Как сделать так, чтобы массив исходный был одним и тем же и как прописать это во второй форме? Помогите!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2017, 11:25
Ответы с готовыми решениями:

динамическое создание двумерного массива и передача его как параметр функции
Здравствуйте, подскажите пожалуйста, как можно передать параметром динамически созданный массив в функцию. Желательно пример. Буду очень...

Преобразовать массив Х по следующему правилу: все отрицательные элементы массива Х перенести в его начало, а все остальные в конец
Помогите решить,срочно надо Задание: Организовать ручное заполнение целочисленного массива Х, размерностью 10. Преобразовать массив Х по...

Создание массива компонентов edit, его инициализация и передача в функцию. Что я делаю не правильно?
Всем доброго времени суток. В общем, хочу написать функцию очистки Edit-ов. У меня в проекте есть отдельный юнит где я прописываю все...

4
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
01.04.2017, 12:25
Lyuthe,
см. Ответы на 7 самых частых вопросов по WinForms
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
02.04.2017, 10:58
На первой форме заполняете массив и передаете в массив второй формы
Предварительно на второй форме установите пустой массив, а также листбокс и кнопку для проверки

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
Forms Code
{
       private void button1_Click(object sender, EventArgs e)  // Код на первой форме
       {
          int n = int.Parse(textBix1.Text);         
           int[] M = new int[20];
            Random rnd = new Random();
            for (int i = 0; i < 20; i++)
                M[i] = rnd.Next(-99, 99);  
            Form2 f2 = new Form2();
            f2.M1 = M;  // Передача данных массиву M1 второй формы
            this.Hide();
            ///////////////// Код для вторй формы
             public partial class Form2 : Form
             {
                public int[] M1 = new int[n];
                 public Form2()
             {
                 InitializeComponent();
              }
              ///////////////////////// Код второй формы для проверки переданных данных
               private void button1_Click(object sender, EventArgs e)
                {
                   for(int i =0; i< n; i++)
                    listBox1.Items.Add(M[i]);
                 }
 
 
      }
}
Добавлено через 8 часов 58 минут
К сожалению, допустил несколько ошибок
1. Строки 6 и 8. Заменить число 20 на n
2.После строки 11 добавить
f2.n = n;
f2.Show();
3. ПЕРЕД строкой 11 добавить
public int n;
0
0 / 0 / 0
Регистрация: 07.10.2016
Сообщений: 52
02.04.2017, 11:15  [ТС]
zna926, доброе утро! Спасибо огромное за Ваш ответ. Но что делать с переменной "n"? Она во второй форме определяться не хочет.
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
02.04.2017, 13:39
Я сам заметил ошибку и утром дописал код, посмотрите еще раз мой ответ (несколько строчек внизу)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2017, 13:39
Помогаю со студенческими работами здесь

Зашифровать текст, заменив каждую его букву следующей по алфавиту (последнюю букву - первой). Все остальные символы оставить без изменения.
Дан файл, содержащий некоторый текст. Зашифровать текст, заменив каждую его букву следующей по алфавиту (последнюю букву - первой). Все...

Все отрицательные элементы массива перенести в его начало, а все остальные в его конец
Задана последовательность из N целых чисел. Все отрицательные элементы массива перенести в его начало, а все остальные в его конец

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.

Из массива X(N) все простые числа записать в массив Y(k), а остальные - в массив Z(m)
помогите пожалуйста решить задачу на языке си: Из целочисленного массива Х(N) все простые числа записать в массив Y(k), а все элементы, не...

Элементы массива А, удовлетворяющие условию А(i)>5.5, переписать в массив В, остальные - в массив C
Элементы массива А, удовлетворяющие условию А(i)&gt;5.5, переписать в массив В, а элементы, удовлетворяющие условию А(i)&lt;=5.5, переписать в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru