Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/47: Рейтинг темы: голосов - 47, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 29.11.2018
Сообщений: 27

Из исходного массива получить положительные и отрицательные элементы и сохранить их в новые массивы

29.11.2018, 18:12. Показов 9555. Ответов 9

Студворк — интернет-сервис помощи студентам
Прошу строго не судить я начинающий программист (если можно так меня назвать), все во лишь второе задание выполняю -)

Есть список
Java
1
int[] array = {12, 0, -22, 0, 43, 545, -4, -55, 12, 43, 0, -999, -87};
Нужно сделать 2 списка в одном все положительные элементы, отрицательные в другом.

Вот что я сделал:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
int[] array = {12, 0, -22, 0, 43, 545, -4, -55, 12, 43, 0, -999, -87};
int[] arr1 = new int[array.length];
int[] arr2 = new int[array.length];
for(int i=0;i<array.length;i++)
        {
            if(array[i]>0)
                arr1[i]=array[i]; 
            if(array[i]<0)
                arr2[i]=array[i]; 
                    
        }
    System.out.println(java.util.Arrays.toString(arr1));
    System.out.println(java.util.Arrays.toString(arr2));
И вот что выводит
[12, 0, 0, 0, 43, 545, 0, 0, 12, 43, 0, 0, 0]
[0, 0, -22, 0, 0, 0, -4, -55, 0, 0, 0, -999, -87]

то есть вместо 0 и отрицательных везде пишет 0 ( а мне нужно что бы их вообще не выводило)
во втором наоборот.

Помогите пожалуйста!



Также есть вторая часть задания тут я вообще не знаю как сделать..

Нужно вывести те элементы которые повторяются и написать сколько раз, то есть элемент 12 и 43 повторяется один раз а элемент 0 повторяется 2 раза.


Буду очень благодарен!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2018, 18:12
Ответы с готовыми решениями:

Скопировать элементы исходного массива в новые массивы: отрицательные - в один, положительные - в другой
Помогите разобраться с этой темой: https://www.cyberforum.ru/cpp-beginners/thread794490.html И как разместить отрицательные...

Перенести в отдельные массивы положительные и отрицательные элементы исходного массива
Сгенерировать и вывести на экран массив с 10 рандомных чисел от -50 до 50. Положительные элементы массива перенести в другой массив №1, а...

Получить из него два массива: в один записать все положительные элементы, в другой – отрицательные элементы исходного массива
Дан массив. Получить из него два массива: в один записать все положительные элементы, в другой – отрицательные элементы исходного массива.

9
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.11.2018, 18:27
Цитата Сообщение от virtuozik Посмотреть сообщение
Есть список
Это не список, а массив
Цитата Сообщение от virtuozik Посмотреть сообщение
Также есть вторая часть задания
Один вопрос - одна тема.

Сабж
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int[] array = {12, 0, -22, 0, 43, 545, -4, -55, 12, 43, 0, -999, -87};
        int[] arr1 = new int[array.length];
        int[] arr2 = new int[array.length];
        int count1 = 0;
        int count2 = 0;
        for (int i = 0; i < array.length; i++) {
            if (array[i] > 0)
                arr1[count1++] = array[i];
            if (array[i] < 0)
                arr2[count2++] = array[i];
        }
        System.out.println(java.util.Arrays.toString(arr1));
        System.out.println(java.util.Arrays.toString(arr2));
 
    }
Нулями будут заполняться "незанятые" элементы - т.к. ты создаешь 2 целевых массива такой же длины, как и исходный.

Добавлено через 1 минуту
Чтобы этого не происходило, сначала нужно подсчитать кол-во положительных и отрицательных элементов, и на основе этих данных создать целевые массивы уже известного размера...
0
0 / 0 / 0
Регистрация: 29.11.2018
Сообщений: 27
29.11.2018, 18:31  [ТС]
созданный код должен работать с разными массивами а не только с этим. был бы рад есть написали ваш вариант кода как ответ.

[12, 43, 545, 12, 43, 0, 0, 0, 0, 0, 0, 0, 0]
[-22, -4, -55, -999, -87, 0, 0, 0, 0, 0, 0, 0, 0] вот что выводит у тебя....

а как длину то сделать другую тогда
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.11.2018, 18:41
Лучший ответ Сообщение было отмечено virtuozik как решение

Решение

Цитата Сообщение от virtuozik Посмотреть сообщение
а как длину то сделать другую тогда
Цитата Сообщение от iSmokeJC Посмотреть сообщение
сначала нужно подсчитать кол-во положительных и отрицательных элементов, и на основе этих данных создать целевые массивы уже известного размера...

Не по теме:

Да, студент нынче не торт...


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
public static void main(String[] args) {
        int[] array = {12, 0, -22, 0, 43, 545, -4, -55, 12, 43, 0, -999, -87};
        divide(array);
    }
 
    private static void divide(int[] array) {
        int positive = 0;
        int negative = 0;
        for (int elem : array) {
            if (elem > 0) positive++;
            else if (elem < 0) negative++;
        }
 
        int[] allPositive = new int[positive];
        int[] allNegative = new int[negative];
        positive = 0;
        negative = 0;
 
        for (int elem : array) {
            if (elem > 0) allPositive[positive++] = elem;
            else if (elem < 0) allNegative[negative++] = elem;
        }
 
        System.out.println("Positive: " + Arrays.toString(allPositive));
        System.out.println("Negative: " + Arrays.toString(allNegative));
    }
Bash
1
2
Positive: [12, 43, 545, 12, 43]
Negative: [-22, -4, -55, -999, -87]
0
0 / 0 / 0
Регистрация: 29.11.2018
Сообщений: 27
29.11.2018, 19:12  [ТС]
Спасибо заработало! только в конце код выдавал ошибку и поменял на вот этот.



Java
1
2
System.out.println("Positive: " +java.util.Arrays.toString(allPositive));
System.out.println("Negative: " +java.util.Arrays.toString(allNegative));
0
 Аватар для Aviz__
2749 / 2057 / 508
Регистрация: 17.02.2014
Сообщений: 9,485
29.11.2018, 19:21

Не по теме:

Цитата Сообщение от iSmokeJC Посмотреть сообщение
Да, студент нынче не торт...
А представь, что студенты медики, такие же...

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.11.2018, 19:27
Цитата Сообщение от virtuozik Посмотреть сообщение
только в конце код выдавал ошибку и поменял на вот этот
Java
1
import java.util.Arrays;
0
0 / 0 / 0
Регистрация: 29.11.2018
Сообщений: 27
29.11.2018, 19:51  [ТС]
Не считая того что стебают, ну это понятное дело я же чайник( и даже не обидно ). Форум офигенный, не успел написать через пару минут уже помогают. Я балдею!
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.11.2018, 19:53

Не по теме:

Цитата Сообщение от virtuozik Посмотреть сообщение
через пару минут уже помогают
Только не подумай, что это всегда так...

0
0 / 0 / 0
Регистрация: 29.11.2018
Сообщений: 27
29.11.2018, 20:50  [ТС]
а со второй частью можешь помочь?? интегрировать в этот же код..сделать продолжение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2018, 20:50
Помогаю со студенческими работами здесь

Получить новый массив, в котором сначала расположены отрицательные, а затем положительные элементы исходного
Даны два массива A и B размера 5. Получить новый массив, в котором сначала расположены отрицательные, а затем положительные эл-ты(не...

Переписать в массив B сначала отрицательные, а затем положительные элементы исходного массива
Помогите пожалуйста решить эти задачки... 1. Одномерные массивы Переписать в массив B(N) сначала отрицательные, а затем...

Расположить в массиве сначала положительные, а затем отрицательные элементы исходного массива
Расположить в массиве R сначала положительные, а затем отрицательные элементы массива Z(30) А вот мой код: #define...

Создайте шаблон функции: переписать подряд в два массива положительные и отрицательные элементы исходного
2. Создайте шаблон функции: переписать подряд в массив Y положительные и в массив X отрицательные элементы массива Z . Надо сделать...

Записать отрицательные и положительные элементы массива в разные массивы
Дан массив М. Нужно все отрицательные элементы массива М записать в массив МО, а положительные — в МR. Вывести полученные массивы на экран....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru