Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2018, 08:39   #1
roykami11er
 
Регистрация: 15.10.2018
Сообщений: 5
По умолчанию Вывести элементы, находящиеся до максимального элемента

Вывести элементы, находящиеся до максимального элемента.

Определил максимальный элемент и сравнил со всеми элементами массива, но всё равно не получается.

Вывести массив (все элементы, кроме максимального) надо в textbox4! Напишите цикл в виде кода, пожалуйста!

Код:

int x = int.Parse(textBox1.Text);
            double[] mass = new double[x];
            Random r = new Random();
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            for (int i = 0; i < x; i++)
                mass[i] = r.Next(1, 50);
            foreach (int q in mass)
                textBox2.Text += q + " ";
            double max = mass[0];
            for(int i = 0; i < mass.Length; i++)
            {
                if (mass[i] > max)
                    max = mass[i];
            }
            textBox3.Text = "Максимальный элемент: " + max.ToString();
roykami11er вне форума Ответить с цитированием
Старый 01.11.2018, 09:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

так Вы определитесь, какие элементы нужно вывести:

Цитата:
Сообщение от roykami11er Посмотреть сообщение
Вывести элементы, находящиеся до максимального элемента.
или
Цитата:
Сообщение от roykami11er Посмотреть сообщение
Вывести массив (все элементы, кроме максимального)
а по сути, Вам нужно искать не максимальный элемент, а индекс максимального элемента. А дальше уже всё тривиально.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.11.2018, 09:10   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1. надо определить МЕСТО максимального в массиве(его индекс)
Код:
if (mass[i] >mass[max_i])
   max_i =i;
2. вывести ВСЕ элементы массива КРОМЕ указанного(max_i)
Код:
if (i<>max_i)
  TextBox2....
0. и это будут ДВА отдельных(последовательных) цикла
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 01.11.2018, 10:39   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
надо определить МЕСТО максимального в массиве(его индекс)
Код:
if (mass[i] >mass[max_i])
   max_i =i;
дополню.
перед циклом нужно обязательно иницилизировать индекс:
Код:
int max_i = 0; // предварительно считаем 0-й элемент массива максимальным и берём его индекс в max_i
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с программой в Паскале: заменить на 1 все элементы массива С1,С2....Сn находящиеся в интервале [1,2] kairr Помощь студентам 1 16.05.2017 09:38
Удалить из вещественного массива все элементы, отличающиеся от его максимального элемента не более чем на bingooo Паскаль, Turbo Pascal, PascalABC.NET 1 05.04.2010 20:15
Удалить из вещественного массива все элементы, отличающиеся от его максимального элемента не более чем на bingooo Помощь студентам 6 05.04.2010 18:42
элементы находящиеся выше главной диагонали warder49 Общие вопросы C/C++ 16 07.03.2010 16:50
При использовании ссылок по странице (href=#) пропадают элементы, находящиеся над текущим Ra1NeR HTML и CSS 3 20.02.2010 00:13