Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
6 / 6 / 0
Регистрация: 16.09.2018
Сообщений: 182
1

Массив действительного типа, выход за границы массива

16.04.2019, 08:35. Показов 862. Ответов 4

Author24 — интернет-сервис помощи студентам
Вывести массив из элементов действительного типа. Расположить элементы в порядке убывания. Вычислить сумму максимального и минимального элементов.
Код класса:
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
namespace WindowsFormsApp1
{
    class Class1
    {
        int[] array;
        public int length;
 
        public Class1(int size)
        {
            array = new int[size];
            length = size;
        }
 
        public int this[int ind]
        {
            set { array[ind] = value; }
            get { return array[ind]; }
        }
        public void Cr()
        {
            Random ran = new Random();
            for (int i = 0; i < length; i++)
            {
                array[i] = ran.Next(-99, 99);
            }
        }
    }
}
Код формы:
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
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        Class1 array;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int sum=0;
            int temp=0;
            int min=0;
            int max=0;
            int n = Convert.ToInt32(textBox1.Text);
            array = new Class1(n);
            array.Cr();            
            for (int i = 0; i < n; i++)
            {
                for (int j = i + 1; j < n; j++)
                {
                    listBox1.Items.Add(Convert.ToString(array[i]));
                    if (array[j] < array[i])
                    {
                        temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                        {
                            min = array[0];
                            for (i = 0; i < n; i++)
                            {
                                if (min > array[i])
                                {
                                    min = array[i];
                                }
                                max = array[0];
                                for (i = 0; i < n; i++)
                                {
                                    if (max < array[i])
                                    {
                                        max = array[i];
                                    }
                                    sum = min + max;
                                }
                                label1.Text = " " + sum;
                                }
                                }
                            }
                        }
                    }
                }
            }
        }
Проблема в том что почему то выходит за границы массива.
Миниатюры
Массив действительного типа, выход за границы массива  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2019, 08:35
Ответы с готовыми решениями:

Дан одномерный массив действительного типа. Получить массив, состоящий из отрицательных чисел исходного массива
Помогите пожалуйста решить задачку) Дан одномерный массив действительного типа. Получить другой...

Выход за границы типа longint
Програма должна считать число которое выходит за диапазон типа longint , а после записать каждую...

Выход за границы массива
Выход за пределы массива, как исправить, подобная вещь и в C# Sub pol(ByRef a() As Integer,...

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

4
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.04.2019, 09:05 2
Цитата Сообщение от SmokyStarCat Посмотреть сообщение
Проблема в том что почему то выходит за границы массива.
За границы массива не скажу, но в коде с циклами явная беда. Один сплошной цикл, в котором и сортировка и параллельно вывод в листбокс и поиск минимума и максимума и расчет их суммы.
Разделите циклы.
Расчет суммы мин и макс и ее вывод производите за циклами.
0
6 / 6 / 0
Регистрация: 16.09.2018
Сообщений: 182
21.04.2019, 21:53  [ТС] 3
Помогите кто небудь с выходом за границу массива
0
454 / 278 / 163
Регистрация: 17.04.2019
Сообщений: 1,637
21.04.2019, 22:05 4
SmokyStarCat, а зачем делать через сложные циклы, если можно это задание решить в несколько строк с помощью Linq?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Linq;
 
namespace ConsoleApplication
{
    public class Program
    {
        static void Main(string[] args)
        {
            Random randomGenerator = new Random();
            int arraySize = 10;
            int[] array = Enumerable.Range(0, arraySize).Select(itm => randomGenerator.Next(-20, 21)).ToArray();
 
            Console.WriteLine("Сгенерированный массив: {0}", string.Join("; ", array));
            array = array.OrderByDescending(it => it).ToArray();
            Console.WriteLine("Отсортированный массив: {0}", string.Join("; ", array));
            Console.WriteLine("Сумма максимального и минимального элементов: {0}", array.Max() + array.Min());
            
            Console.ReadKey();
        }
    }
}
Сделал вариант для консоли, но, думаю, разберетесь как переделать по WinForms.
1
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
22.04.2019, 20:49 5
Это задача на 5-6 строчек без всяких классов
0
22.04.2019, 20:49
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.04.2019, 20:49
Помогаю со студенческими работами здесь

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

Выход за границы массива
Нужно найти min элементы в исходной матрице и вывести в результат в отдельную матрицу using...

Выход за границы массива
#include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; void umnozh(int** arr, int n,int...

Выход за границы массива
Написал код static void Main(string args) { int n, m, i = 0; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru