C #, найти мин и макс с помощью метода - PullRequest
0 голосов
/ 14 октября 2018

Мне нужно написать четыре метода для событий Button_Click

  1. Один, который случайным образом генерирует значения в диапазоне 1-100 для всех элементов в массиве из 15 элементов.
  2. Один, который находит максимумint и открывает MessageBox для отображения возвращенного значения
  3. Тот, который находит минимальное int и открывает MessageBox для отображения возвращаемого значения.
  4. Тот, который сортирует массив в порядке убывания и открывает MessageBox для отображения возвращаемого значения.

У меня проблемы с получением метода MaximumIntButton и методаimumIntButton_click, получающего полученные значенияв моем методе randomGenerateButton_Click.Спасибо.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Array_Argument
{ 
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Click event handler for the goButton control.
        private void goButton_Click(object sender, EventArgs e)
        {
            // Create an int array.
            int[] numbers = { 1, 2, 3 };

            // Display the array in the list box.
            outputListBox.Items.Add("The array's original contents:");
            foreach (int number in numbers)
            {
                outputListBox.Items.Add(number);
            }
            RandomNumberGenerator();
        }

        // Code for random number generation method
        public void RandomNumberGenerator()
        {
            // Create an array to hold the numbers.
            const int SIZE = 15;
            int[] randomNumbers = new int[SIZE];

            // Create a Random object
            Random rand = new Random();   

            // Fill the array with random numbers, in the range
            // of 0 through 99.
            for (int index = 0; index < randomNumbers.Length; index++)
            {
                // Assign a random number between 0-99 to randomNumbers array
                randomNumbers[index] = rand.Next(100);
            }
            // Repeats 15 times
            // Display the current array value in the box
            outputListBox.Items.Add("15 random numbers have been assigned");
        }

        // Click event handler for the exitButton control.
        private void exitButton_Click(object sender, EventArgs e)
        {
            // Close the form.
            this.Close();
        }

        private void findMaxButton_Click(object sender, EventArgs e)
        {               
            int largest = randomNumbers[14];
            for (int i = 0; i < 15; i++)
            {   
                if (randomNumbers[i] > largest)
                {
                    largest = randomNumbers[i];   
                }
            }
            outputListBox.Items.Add("The largest number is: " + largest);    
        }

        private void findMinButton_Click(object sender, EventArgs e)
        {             
            int smallest = randomNumbers[14];
            for (int i = 0; i < 15; i++)
            {   
                if (randomNumbers[i] > smallest)
                {
                    smallest = randomNumbers[i];   
                }
            }
            outputListBox.Items.Add("The smallest number is: " + smallest);
        }
    }
}

1 Ответ

0 голосов
/ 14 октября 2018

Вы должны переместить объявление 'SIZE' и 'randomNumbers' вне метода 'RandomNumberGenerator'.Таким образом, они могут быть доступны любой функции / обработчику событий.

Ваш код должен начинаться со следующего:

public Form1()
{
    InitializeComponent();
}

const int SIZE = 15;
int[] randomNumbers = new int[SIZE];

// Click event handler for the goButton control.

Теперь удалите их изнутри RandomNumberGenerator.Затем вы можете получить к ним доступ из своих обработчиков событий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...