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

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

07.03.2019, 22:54. Показов 5393. Ответов 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
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,505
08.03.2019, 19:15
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от dastreba Посмотреть сообщение
И еще скажите,почему мне выдавало ошибку если в программе использую Arrays?
import java.util.Arrays; делал?
Цитата Сообщение от dastreba Посмотреть сообщение
как удалять макс и мин элемент в джаве?
если в массивах содержащих примитивные значения, то в методе создавая новый массив, размером старый -2 и заполняя его всеми старыми значениями, кроме макс и мин.
1
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232
17.03.2019, 20:10  [ТС]
подскажите пожалуйста - хочу присвоить последнему элементу 0
добавляю
Arr[i-1]=0;
На выводе присваивает 0 не последнему элементу,а заменяет последнее число на 0,почему?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
17.03.2019, 20:41
На выводе присваивает 0 не последнему элементу,а заменяет последнее число на 0,почему?
наркоман?
0
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232
17.03.2019, 21:38  [ТС]
Уже понял сам,минуты 2 назад

Добавлено через 48 минут
а что нужно добавить чтоб присвоить 0?
Сравнил со своей программой с похожим задание,только на с++,решение похожее на это.
Может я покажусь не очень умным,но правда не могу понять,что да как.
Уже час листаю страницы гугла в поисках подсказок,везде одна и та-же строчка,только тут она работает не так.
Как же тут присвоить последнему элементу,а не числу 0?
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
17.03.2019, 21:57
dastreba, для этих целей есть ArrayList.add(E).
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
17.03.2019, 21:57
есть к примеру массив int[] array = {1, 2, 3, 4, 5};

тут у нас массив размером в 5 чисел.

чтоб последнему элементу присвоить 0 нужно

array[4] = 0; // 4 - т.к. размер массива 5, а нумерация начинает с с нуля, значит последний элемент у нас имеет индекс 4

или

array[array.length - 1] = 0 // array.length - вернёт длину массива (тут у нас вернёт 5), а т.к. нумерация начинает ся с 0, то нужно отнять единицу
0
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232
17.03.2019, 22:00  [ТС]
Arr[Arr.length - 1]=0; добавил,всеравно последнее число делает 0.
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
17.03.2019, 22:05
dastreba, естественно делает (присваивает) последнее число 0...

А ты о чём просил?

Добавлено через 1 минуту
объясни понятнее, чтоты хочешь?
0
1 / 1 / 4
Регистрация: 18.10.2017
Сообщений: 232
17.03.2019, 22:16  [ТС]
Я просил чтоб ноль был тут -
масив-
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 0 - тут

Добавлено через 11 минут
А выходит,что 0 заменяет 265 тут -
Масив без макс элм :
341 273 278 329 402 388 275 243 334 412 393 299 343 317 0
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
17.03.2019, 22:16
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
import java.util.Arrays;
import java.util.Random;
 
public class Task013 {
    private static final int N = 10;
 
    private static final int MIN = 1;
    private static final int MAX = 9;
 
    public static void main(String[] args) {
        int[] array = new Random().ints(N, MIN, MAX + 1).toArray();
        System.out.println("Array: " + Arrays.toString(array));
 
        array = removeMaxElementToArray(array);
        System.out.println("Array without max number: " + Arrays.toString(array));
    }
 
    public static int[] removeMaxElementToArray(int[] array) {
        //ищем индекс с максимальным числом
        int max = array[0];
        int indexMax = 0;
        for (int index = 1; index < array.length; index++) {
            if (array[index] > max) {
                indexMax = index;
                max = array[index];
            }
        }
 
        //смещаем массив без максимального числа
        System.arraycopy(array, indexMax + 1, array, indexMax, array.length - indexMax - 1);
 
        //теперь присваиваем последний элемент 0
        array[array.length - 1] = 0;
        return array;
    }
}
а можно вообще обрезать массив на 1

заменить строки:
Java
1
2
    array[array.length - 1] = 0;
    return array;
на

return Arrays.copyOf(array, array.length - 1);
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
17.03.2019, 22:37
"Удаляет" "максимумы" (максимум и его повторы) из массива:
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
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.function.Function;
 
public class Main {
    public static void main(String[] args) {
        final int N = 10;
        final int LO = 0;
        final int HI = 100;
 
        final int[] array = new Random().ints(N, LO, HI).toArray();
        System.out.println(Arrays.toString(array));
        final int[] result = getArrayWithoutMaxima(array);
        System.out.println(Arrays.toString(result));
    }
 
    public static int[] getArrayWithoutMaxima(final int[] array) {
        final int max = Arrays.stream(array, 0, array.length).max().getAsInt();
 
        final int[] result = new int[array.length];
        for (int i = 0, j = 0; i < array.length; i++) {
            final int n = array[i];
            if (n != max) {
                result[j++] = n;
            }
        }
 
        return result;
    }
}
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
17.03.2019, 22:57
твой вариант:

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
import java.util.Arrays;
 
public class Task013 {
    private static final int N = 10;
 
    private static final int MIN = 1;
    private static final int MAX = 9;
 
    public static void main(String[] args) {
        int[] array = {341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265};
        System.out.println("Array: " + Arrays.toString(array));
 
        //ищем индекс максимального числа
        int max = 0;
        int indexMax = 0;
        for (int index = 0; index < array.length; index++) {
            if (array[index] > max) {
                max = array[index];
                indexMax = index;
            }
        }
        System.out.println("Max number = " + max + "; index = " + indexMax + ";");
 
        //смещаем массив
        System.arraycopy(array, indexMax + 1, array, indexMax, array.length - indexMax - 1);
        System.out.println("Array remove max: " + Arrays.toString(array));
 
        //присваиваем последнему элемеенту 0.
        array[array.length - 1] = 0;
        System.out.println("Last element equal 0: " + Arrays.toString(array));
 
        //обрезаем массив на 1
        array = Arrays.copyOf(array,array.length - 1);
        System.out.println("Arrays -1: " + Arrays.toString(array));
    }
}
Добавлено через 17 минут
можно обойтись без импортов:

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
public class Task013 {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 9, 2, 3, 9, 9, 6, 7, 9};
        System.out.println(arrayToString(array));
 
        int max = getMaxNumber(array);
        System.out.println("Max = " + max + ";");
 
        array = removeNumberToArray(array, max);
        System.out.println(arrayToString(array));
    }
 
    public static int[] removeNumberToArray(int[] array, int number) {
        int[] result = new int[array.length];
        int index = 0;
        for (int num : array) {
            if (num != number) {
                result[index++] = num;
            }
        }
        return result;
    }
 
    public static int getMaxNumber(int[] array) {
        int max = Integer.MIN_VALUE;
        for (int number : array) {
            if (number > max) {
                max = number;
            }
        }
        return max;
    }
 
    public static String arrayToString(int[] array) {
        String result = "[";
        for (int index = 0; index < array.length; index++) {
            result = result.concat(String.valueOf(array[index]));
            if (index != array.length - 1) {
                result = result.concat(", ");
            }
        }
        return result.concat("]");
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.03.2019, 22:57

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru