Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232

Удаление максимального элемента и вывод масива на экран

07.03.2019, 22:54. Показов 5216. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся вот с такими 2-мя проблемами: удаление макс элемента и вывод масива на экран
Делаю в eclipse.
Подскажите где можно найти информацию как делать эти 2 вещи,а то в гугле искал,но ничего толкового так и не нашел.
Заранее спасибо.

Добавлено через 6 минут
решил проблему с удалением,теперь только вывод нужен

Добавлено через 3 минуты
Java
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
package lab5;
 
 
public class dell {
    public static void main(String[] args) {
 
        int[] times = {341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265};
        searchTop(times);
    }
 
    private static void searchTop(int[] times) {
        int maxTimes = times[0]; //самое большое значение
     
        int numberMax = 1;//порядковый номер в массиве самого большого значения
      
        for (int i = 0; i < times.length - 1; i++) {
            if (maxTimes < times[i + 1]) {
     
                maxTimes = times[i + 1];
                numberMax = i + 1;
            }
 
        }
        times[numberMax] = 0;//удаляем
        
       //Выводим
 
        System.out.println(maxTimes + " -  is max element in the arr  " + " ");
    }
}
Добавлено через 14 минут
Что-то туплю,ничего не решил,просто нашел макс элемент и все.Вопросы остались те же
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2019, 22:54
Ответы с готовыми решениями:

Вывод на экран максимального элемента одномерного массива
Программа которая выводит на экран максимальный элемент одномерного массива .

Поиск максимального элемента массива в функции и вывод всех результатов на экран и в файл
Всем привет! Задача следщая: 1. Сформировать двумерный массив F размером 8 x 8 2. с помощью генератора случайных чисел и вывести...

Удаление элемента и вывод списка на экран
Написал добавление в список и вывод на экран,с удалением что-то совсем не получается,мне нужно удалить элемент,адрес которого задаст...

31
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
07.03.2019, 23:02
Цитата Сообщение от dastreba Посмотреть сообщение
а то в гугле искал,но ничего толкового так и не нашел.
Эта задача здесь же недавно решалась. Помню поскольку так и не было точного условия "максимальные элемент это тот который больше остальных, или больше-равно остальных", или что делать когда "максимальных два и больше".
Цитата Сообщение от dastreba Посмотреть сообщение
и вывод масива на экран
Java
1
2
int[] a = {1, 2, 3, 3, 4, 5, 6, 3, 2, 7, 1234};
System.out.println(Arrays.toString(a));
Добавлено через 2 минуты
Цитата Сообщение от dastreba Посмотреть сообщение
Что-то туплю,ничего не решил,просто нашел макс элемент и все.Вопросы остались те же
То есть из 2-х вопросов вы один решили (нашли макс), остался только вывод массива?
0
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232
08.03.2019, 02:02  [ТС]
Нужно удалить максимальный элемент,а я его просто нашел.
Вывод на экран - я делал так уже,но почему-то eclipse мне говорит,что что-то не так с Arrays , постоянно красной волнистой линией его подчеркивает.
У меня с этими макс,мин элементами постоянно проблемы.

Я такое уже в паскале,С,С++ делал,но в новом языке опять не могу.Еще и на ютубе нету ничего об этом,чтоб посмотреть как делать.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 08:36
Java
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
import java.util.*;
import java.lang.*;
import java.io.*;
 
class Ideone
{
    public static int [] delMax(int [] Arr)
    {
        int n=Arr.length;
        int [] r = new int[n-1];
        int i,j,max=Arr[0],imax=0;
        for (i=1; i<n; i++) 
        {
            if (Arr[i]>max)
            {
                imax=i;
                max=Arr[i];
            }
        }
        j=0;
        for (i=0; i<n; i++)
        {
            if (i != imax)
            {
                r[j++]=Arr[i];
            }
        }
        return r;
    }
    
    public static void printArr(int [] Arr)
    {
        for (int i=0; i<Arr.length; i++) 
        {
            System.out.print(Arr[i]+" ");
        }
        System.out.println();
    }
    
    public static void main (String[] args) throws java.lang.Exception
    {
        int[] times = {341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265};
        System.out.println("Исходный массив:");
        printArr(times);
        System.out.println("Максимум удален:");
        printArr(delMax(times));
    }
}
Результат:

Исходный массив:
341 273 278 329 445 402 388 275 243 334 412 393 299 343 317 265
Максимум удален:
341 273 278 329 402 388 275 243 334 412 393 299 343 317 265


https://ideone.com/jHMbsk

Добавлено через 39 секунд
Цитата Сообщение от dastreba Посмотреть сообщение
Делаю в eclipse.
- а вот это совершенно неважно

Добавлено через 1 минуту
Да, если максимальный элемент присутствует в нескольких экземплярах, то удалится только первое вхождение.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.03.2019, 09:42
Java
1
2
3
int[] result = IntStream.of(times)
                .filter(x -> x != (IntStream.of(times).max().getAsInt()))
                .toArray();
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 09:45
Цитата Сообщение от Catstail Посмотреть сообщение
то удалится только первое вхождение
спорное утверждение.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 11:37
Для моего кода - бесспорное, т.к.запоминается позиция первого максимума.
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 12:13
Цитата Сообщение от Catstail Посмотреть сообщение
Для моего кода
я не про код, а про общее решение)). Скажем, в бизнес приложении нужно убрать макс цену, которая есть у нескольких товаров.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 14:22
А это не ко мне претензия, а к ТС.
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 15:57
Дело не в претензиях! А в том, что люди учатся не просто так, а для чего-то большего...
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 16:14
Цитата Сообщение от Aviz__ Посмотреть сообщение
люди учатся не просто так, а для чего-то большего...
- те, кто учится реально, не задает элементарных вопросов...

Добавлено через 2 минуты
iSmokeJC, а вот интересно... В Вашем коде в безымянной функции поиск максимума будет выполняться при каждом вызове?
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 16:15
Цитата Сообщение от Catstail Посмотреть сообщение
кто
пытается учить, тот может показать больше, чем это видно за элементарными примерами))
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 16:17
Цитата Сообщение от dastreba Посмотреть сообщение
Еще и на ютубе нету ничего об этом,чтоб посмотреть как делать.
- это просто умиляет...

Добавлено через 1 минуту
Aviz__, а кто здесь "пытается учить" и кого?
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 16:22
Цитата Сообщение от Catstail Посмотреть сообщение
кто ... и кого?
ну, батенька троллинг мне не по вкусу((. Кто, кого и так понятно!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 16:26
Цитата Сообщение от Aviz__ Посмотреть сообщение
троллинг мне не по вкусу
- тогда не надо подставляться. Лично я никого здесь не учу, а просто развлекаюсь, решая задачи... и учусь сам.
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 17:00
Цитата Сообщение от Catstail Посмотреть сообщение
никого здесь не учу
решая запросы других людей, ты учишь)).
Цитата Сообщение от Catstail Посмотреть сообщение
а просто развлекаюсь
разве не кайфово более общее решение найти), Но, в этом, конкретном случае, ты границы своего указал.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 17:12
Цитата Сообщение от Aviz__ Посмотреть сообщение
разве не кайфово более общее решение найти
- конечно! С этим трудно не согласиться.
Но только какое из решений "более общее"? Если нужно удалить все максимумы - это тоже сделать нетрудно.

Цитата Сообщение от Aviz__ Посмотреть сообщение
Но, в этом, конкретном случае, ты границы своего указал.
- да, c Javа я недавно познакомился. Учу ее, решая задачи.
0
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
08.03.2019, 17:22
Цитата Сообщение от Catstail Посмотреть сообщение
avа я недавно познакомился
это не важно, опыт то чувствуется)).
Цитата Сообщение от Catstail Посмотреть сообщение
все максимумы
так я и намекал, что в реальных задачах, именно все, или предусмотреть возможность удаления: первого, всех или последнего. Без переписывания кода
0
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232
08.03.2019, 17:34  [ТС]
Спасибо большое,если не сложно подскажите где описано как удалять макс и мин элемент в джаве?
И еще скажите,почему мне выдавало ошибку если в программе использую Arrays?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
08.03.2019, 18:18
Кстати, даже удаление нескольких (чисто на массивах за два прохода) на ideone работает примерно вдвое быстрее, чем на стримах:

Java
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
import java.util.*;
import java.lang.*;
import java.io.*;
 
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static int [] delMax(int [] Arr)
    {
        int n=Arr.length;
        int i,j,max=Arr[0],cmax=1;
        for (i=1; i<n; i++) 
        {
            if (Arr[i]>max)
            {
                cmax=1;
                max=Arr[i];
            }
            else if (Arr[i]==max)
            {
                cmax++;
            }
        }
        int [] r = new int[n-cmax];
        j=0;
        for (i=0; i<n; i++)
        {
            if (Arr[i] != max)
            {
                r[j++]=Arr[i];
            }
        }
        return r;
    }
 
    public static void printArr(int [] Arr)
    {
        for (int i=0; i<Arr.length; i++) 
        {
            System.out.print(Arr[i]+" ");
        }
        System.out.println();
    }
 
    public static void main (String[] args) throws java.lang.Exception
    {
        int[] times = {341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393,445,445, 299, 343,445, 317, 265};
        System.out.println("Исходный массив:");
        printArr(times);
        System.out.println("Максимумы удалены:");
        printArr(delMax(times));
    }
}
{https://ideone.com/SfGIf9

Добавлено через 1 минуту
Цитата Сообщение от Aviz__ Посмотреть сообщение
это не важно, опыт то чувствуется)).
- конечно...

Добавлено через 42 минуты
Вот более общее решение. Удаляет с начала или с конца:

Java
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
78
79
80
81
82
83
84
85
86
87
import java.util.*;
import java.lang.*;
import java.io.*;
 
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static int [] delMax(int [] Arr, int numDel)
        // numDel > 0 - удаление с начала;
        // numDel < 0 - удаление с конца.
    {
        int n=Arr.length;
        int i,j,max=Arr[0],cmax=1;
        for (i=1; i<n; i++) 
        {
            if (Arr[i]>max)
            {
                cmax=1;
                max=Arr[i];
            }
            else if (Arr[i]==max)
            {
                cmax++;
            }
        }
        int nm = Math.abs(numDel);
        if (nm > cmax) nm=cmax;
        int [] r = new int[n-nm];
        if (numDel >= 0)
        {
           j=0;
           for (i=0; i<n; i++)
           {
               if (Arr[i] != max) 
               {
                   r[j++]=Arr[i];
               }
               else
               {
                   if (numDel <= 0) 
                   {
                      r[j++]=Arr[i];
                   }
                   numDel--;
               }
           }
        }
        else
        {
            j=n-nm-1;
            for (i=n-1; i>=0; i--)
            {
               if (Arr[i] != max) 
               {
                   r[j--]=Arr[i];
               }
               else
               {
                   if (numDel >= 0) 
                   {
                      r[j--]=Arr[i];
                   }
                   numDel++;
               }
            }
        }
        return r;
    }
 
    public static void printArr(int [] Arr)
    {
        for (int i=0; i<Arr.length; i++) 
        {
            System.out.print(Arr[i]+" ");
        }
        System.out.println();
    }
 
    public static void main (String[] args) throws java.lang.Exception
    {
        int[] times = {341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393,445,445, 299, 343,445, 317, 265};
        System.out.println("Исходный массив:");
        printArr(times);
        System.out.println("Максимумы удалены:");
        printArr(delMax(times,-2));
    }
}
https://ideone.com/292nkt

И тоже примерно вдвое быстрее стримовского (на коротких массивах).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2019, 18:18
Помогаю со студенческими работами здесь

Найти сумму элементов масива, которые находятся до максимального элемента
Дан масив на 45 элэментов. Написать программу, которая находит сумму элементов масива, которые находятся до максимального элемента.

Удаление элемента из масива
в файле есть одномерный целочисленный массив, нужно удалить первый четный элемент, как это сделать?

Высчитать среднее арифметическое элементов масива без учета минимального и максимального элемента
Помогите решить задачи( Вторая задача: Написать программу которая считает среднее арифметическое элементов масива без учета...

Очередь на базе списка: добавление элемента, удаление, поиск в очереди, вывод на экран
Может у кого есть готовое решение этого задания, буду Вам очень признателен. Желательно что бы пользователь сам вводил значения с...

Заполнение масива по формуле и нахождение наименьшего положительного элемента масива
Итак условие задачи: Написать программу для заполнения масива з 20 элементов по формуле a_i=\left(-1 \right)^i\,\frac{i^2}{i-1} и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru