Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 31.10.2022
Сообщений: 5

Сортировка массива от минуса до плюса

31.10.2022, 20:56. Показов 334. Ответов 2

Студворк — интернет-сервис помощи студентам
Из массивов А и В создать массив С. В массиве С начать с отрицательных элементов из массива А, затем отрицательные элементы из массива В, затем нулевые элементы из массивов А и В, закончить положительными элементами из массива А, затем положительными элементами из массива В.

Я написал код, но в итоге массив С выдаёт:
С:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

Кто-нибуть мог бы подсказать как решить данную проблему?

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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class MD3_ju {
 
 
    public static void main(String[] args) {
 
    int A[]=new int [10];
    int B[]=new int [10];
    int c[]=new int [A.length + B.length];
    int i=0, K;
    Scanner sc = new Scanner(System.in);
    Random r = new Random();
            
            
        System.out.print("K=");
            if (sc.hasNextInt())
            K = sc.nextInt();
            else {
            System.out.println("error");
            sc.close();
            return;
            }
            sc.close();
////////////////////////////////////////////////////////////////////////////
            System.out.println("A: ");
            if (K==0) {
            do {
                A[i] = r.nextInt(-10,10);
                System.out.printf(" " + A[i]);
                i++;
            } while (i<=9);
            i=0;
            System.out.println("\nB: ");
            do {
                B[i] = r.nextInt(-50,50);
                System.out.printf(" " + B[i]);
                i++;
            }while(i<=9);
        }
            else {
                do {
                    A[i]=(-1)*i*(i-K);
                    System.out.printf(" " + A[i]);
                    i++;
                } while (i<=9);
                i=0;
                System.out.println("\nB: ");
                do {
                    B[i]=(-1)*i*(i-5)*K;
                    System.out.printf(" " + B[i]);
                    i++;
                }while(i<=9);
            }
 
            i=0;
            System.out.println("\nC:");
            
            for (int k = 0; k < A.length; k++) {
             if (A[k]<0) {
                 c[i]=A[k];
            }
            }
            for (int k = 0; k < B.length; k++) {
                 if (B[k]<0) {
                c[i]=B[k];
                i++;
                }
                }
            for (int k = 0; k < A.length; k++) {
                 if(A[k]==0) {
                 c[i]=A[k];
                 i++;
             }
             }
            for (int k = 0; k < B.length; k++) {
                 if(B[k]==0) {
                 c[i]=B[k];
                 i++;
             }
             }
            for (int k = 0; k < A.length; k++) {
                 if(A[k]>0) {
                 c[i]=A[k];
                 i++;
             }
             }
            for (int k = 0; k < B.length; k++) {
                 if(B[k]>0) {
                 c[i]=B[k];
                 i++;
             }
             }
            
            for (int k = 0; k < c.length; k++) {
            System.out.printf(" "+ c[i]);
            if(k==9) {
            System.out.println();
                }
                }
    }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2022, 20:56
Ответы с готовыми решениями:

Найти строку массива, в которой меньше всего перемен знака с минуса на плюс или с плюса на минус
Заполнить двумерный числовой массив С целыми числами. Найти строку массива, в которой меньше всего перемен знака с минуса на плюс или с...

Перегрузить операции плюса и минуса
Здравствуйте! Огромная просьба, помогите перегрузить операции плюса и минуса, пожалуйста... #include &lt;clx.h&gt; #include...

Ввод плюса и минуса в калькуляторе
Сделайте, пожалуйста, что бы если вводится в числе знак минус, то znak = '-', а если не вводится ничего, а сразу число, то znak = '+' ...

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,696
Записей в блоге: 14
01.11.2022, 10:45
Лучший ответ Сообщение было отмечено ryanx как решение

Решение

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 Main
{
    public static int [] foo(int [] a, int [] b)
    {
        int na=a.length;
        int nb=b.length;
        int nc=na+nb;
        int [] r = new int[nc];
        
        int j=0;
        
        for (int i=0; i<na; i++)
            if (a[i] < 0) r[j++]=a[i];
            
        for (int i=0; i<nb; i++)
            if (b[i] < 0) r[j++]=b[i];
            
        for (int i=0; i<na; i++)
            if (a[i] == 0) r[j++]=0;
            
        for (int i=0; i<nb; i++)
            if (b[i] == 0) r[j++]=0;
            
        for (int i=0; i<na; i++)
            if (a[i] > 0) r[j++]=a[i];
            
        for (int i=0; i<nb; i++)
            if (b[i] > 0) r[j++]=b[i];
            
        return r;    
        
    }
    
    public static void main(String[] args)
    {
        int [] x = {1,3,4,-4,-8,-14,0,2,55};
        int [] y = {9,8,7,0,0,-6};
        
        int [] r = foo(x,y);
        
        for (int i=0; i<r.length; i++) System.out.print(r[i]+" ");
        
    }
}
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3403 / 2725 / 574
Регистрация: 04.09.2018
Сообщений: 8,552
Записей в блоге: 3
01.11.2022, 17:40
Цитата Сообщение от ryanx Посмотреть сообщение
Из массивов А и В создать массив С. В массиве С начать с отрицательных элементов из массива А, затем отрицательные элементы из массива В, затем нулевые элементы из массивов А и В, закончить положительными элементами из массива А, затем положительными элементами из массива В.
Интересно посмотреть на того, кто такие задачи придумывает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2022, 17:40
Помогаю со студенческими работами здесь

Сделать ввод плюса и минуса в калькуляторе
Имеется калькулятор длинной арифметики, все считает правильно и очень хорошо :) Но проблема в том, что перед тем, как вводить число, нужно...

Зачем на 8 pin аккумуляторе ноутбука 2 плюса и 2 минуса?
Здравствуйте. У меня ноутбук Acer и там аккумулятор подключается через шлейф с 8 контактами. Обратил внимание что там два красных и два...

Как перехватить нажатие плюса и минуса на нампаде
Нужно перехватить нажатие клавиш &quot;+&quot; и &quot;-&quot; на нампаде вот здесь: protected override bool ProcessCmdKey(ref Message msg, Keys...

Посчитать кол-во смен знака с минуса на плюс и с плюса на минус
Программа выводит lдвумерный массив из чисел от -5 до 5 Посчитать кол-во смен знака числа с (+) на (-) и с (-) на (+) Есть ряд чисел: ...

Найти число чередований знака, то есть число переходов с минуса на плюс или с плюса на минус
Помогите пожалуйста, сделал счетчик чисел со знаком и без, но как сделать чередования не пойму. data segment mas DB 1,2,-2,-4,6,$ ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru