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

Определить, есть ли в матрице столбец, в котором равное количество положительных и отрицательных элементов

22.02.2019, 21:23. Показов 3341. Ответов 25

Студворк — интернет-сервис помощи студентам
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
import javax.swing.JOptionPane;
 
public class ARR {
    
    public static void main(String[] args) 
    {
        int[][] array={
            {3, 1, 3, -2},
            {2, 9, -1, 8},
            {1, -3, 3, 4},
            {8, 1, -1, -8},};    
        int positive = 0, negative = 0, box = 0;    
            for (int i=0; i < array.length; i++)
                
            { 
                for (int j = 0; j < array.length; j++)
            {
                    if (array[i][j]>0)
                        positive++;
                        else negative++;
            }
            if (positive == negative)
                box = i+1;
            
            } JOptionPane.showMessageDialog(null, "№ "+ box);
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2019, 21:23
Ответы с готовыми решениями:

Определить, есть ли в матрице столбец, в котором равное число положительных и отрицательных элементов
2.Дан двумерный массив А(пxт), заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное число...

Определить, есть ли в матрице столбец, в котором равное число положительных и отрицательных элементов
Дан двумерный массив размерностью n х m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное...

Определить, есть ли в массиве столбец, в котором равное количество положительных и отрицательных элементов
Дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное...

25
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
22.02.2019, 23:12  [ТС]
Студворк — интернет-сервис помощи студентам
А в етом примере можна зделать так что бы значение чисел в масиве менялись?)
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
22.02.2019, 23:25
сейчас...сделаю рандомное заполнение

Добавлено через 8 минут
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
import java.util.Arrays;
import java.util.Random;
 
public class A {
    //задаём размер массива 4 на 4
    public static final int DEFAULT_SIZE = 4;
 
    //интервал чисел для заполнения массива от -2 до 2
    public static int minRange = -2;
    public static int maxRange = 2;
 
    public static void main(String[] args) {
        int[][] array = new int[DEFAULT_SIZE][DEFAULT_SIZE];
        Random random = new Random();
 
        //заполняем массив рандомными числами и выводим на экран
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                array[i][j] = random.nextInt(maxRange - minRange + 1) + minRange;
            }
            System.out.println(Arrays.toString(array[i]));
        }
 
 
 
        int index = -1;
        for (int i = 0; i < array.length; i++) {
            int count = 0;
            for (int j = 0; j < array[i].length; j++) {
                if (array[i][j] >= 0) {
                    count++;
                } else {
                    count--;
                }
            }
 
            if (count == 0) {
                index = i;
                break;
            }
        }
 
        if (index != -1) {
            System.out.printf("В рядку %d рівна кількість додатніх та від'ємних елементів\n", index + 1);
        } else {
            System.out.printf("немає такого рядка, щоб була рівна кількість додатніх та від'ємних елементів\n", 0);
        }
    }
}
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
22.02.2019, 23:36  [ТС]
вы просто волшебник, успехов вам)))
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
22.02.2019, 23:37
и Вам удачки!
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
23.02.2019, 00:00  [ТС]
Можна, еще спросить одно, как сделать так, что бы нули не считали ни туда ни туда?
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
23.02.2019, 01:17
в строке 30 поменять вот это:
Java
1
2
3
4
5
if (array[i][j] >= 0) {
                    count++;
                } else {
                    count--;
                }
на:
Java
1
2
3
4
5
if (array[i][j] > 0) {
                    count++;
                } else if (array[i][j] < 0) {
                    count--;
                }
Добавлено через 6 минут
даже лучше вот так всё сделать, чтоб если массив будет из нулей всех, не считал это правильным:

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
import java.util.Arrays;
import java.util.Random;
 
public class A {
    public static final int DEFAULT_SIZE = 4;
    public static int minRange = -2;
    public static int maxRange = 2;
 
    public static void main(String[] args) {
        int[][] array = new int[DEFAULT_SIZE][DEFAULT_SIZE];
        Random random = new Random();
 
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                array[i][j] = random.nextInt(maxRange - minRange + 1) + minRange;
            }
            System.out.println(Arrays.toString(array[i]));
        }
        
        int index = -1;
        for (int i = 0; i < array.length; i++) {
            int positive = 0;
            int negative = 0;
            for (int j = 0; j < array[i].length; j++) {
                if (array[i][j] > 0) {
                    positive++;
                } else if (array[i][j] < 0) {
                    negative++;
                }
            }
            if (positive == negative && positive != 0) {
                index = i;
                break;
            }
        }
 
        if (index != -1) {
            System.out.printf("В рядку %d рівна кількість додатніх та від'ємних елементів\n", index + 1);
        } else {
            System.out.printf("немає такого рядка, щоб була рівна кількість додатніх та від'ємних елементів\n", 0);
        }
    }
}
Добавлено через 1 минуту
и размер массив можете менять... это я задал 4, как и диапазон рандомных чисел (установлено от -2 до 2.
меняйте на какие хотите, только размер должен быть положительным

Добавлено через 32 минуты
на самом деле в методе main не стоит производить решения. Это не красивый код...

каждая задача делится на методы... вывод - один метод, создание - другой... в main просто их вызываем

вот более менее смотрибельный код:
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
import java.util.Arrays;
import java.util.Random;
 
public class A {
    //кол-во строк в массиве.
    private static final int HEIGHT = 4;
 
    //кол-во столбцов в массиве.
    private static final int WEIGHT = 4;
 
    //диапазон чисел для рандомной генерации.
    private static int minRange = -2;
    private static int maxRange = 2;
 
    /**
     * Метод создаёт двумерный массив, заполненый рандомными числами в диапазоне.
     *
     * @param height - высота массива; (кол-во строк);
     * @param weight - ширина массива (кол-во столбцов);
     * @param minRange - минимальное число для рандома;
     * @param maxRange - максимальное число для рандома;
     * @return возвращает двумерный массив;
     */
    private static int[][] createDeepArray(int height, int weight, int minRange, int maxRange) {
        int[][] deepArray = height > 0 && weight > 0 ? new int[height][weight] : new int[0][0];
        Random random = new Random();
        for (int i = 0; i < deepArray.length; i++) {
            for (int j = 0; j < deepArray[i].length; j++) {
                deepArray[i][j] = random.nextInt(maxRange - minRange + 1) + minRange;
            }
        }
        return deepArray;
    }
 
    /**
     * Метод печатает двумерный массив в консоль.
     *
     * @param deepArray - массив для печати;
     */
    private static void printDeepArray(int[][] deepArray) {
        if (deepArray != null) {
            for (int[] line : deepArray) {
                System.out.println(Arrays.toString(line));
            }
        }
    }
 
    /**
     * Метод ищет строки в двумерном массиве, в которых отриц. и полож. чисел одинаково.
     *
     * @param deepArray - массив для поиска;
     * @return массив индексов строк двумерного массива;
     */
    private static int[] getLineArray(int[][] deepArray) {
        int[] result = deepArray != null ? new int[deepArray.length] : new int[0];
        int amount = 0;
        for (int i = 0; i < deepArray.length; i++) {
            int positive = 0;
            int negative = 0;
            for (int j = 0; j < deepArray[i].length; j++) {
                if (deepArray[i][j] > 0) {
                    positive++;
                } else if (deepArray[i][j] < 0) {
                    negative++;
                }
            }
            if (positive == negative && positive != 0) {
                result[amount++] = i;
            }
        }
        result = Arrays.copyOf(result, amount);
        return result;
    }
 
    /**
     * Метод печатает результат в консоль.
     *
     * @param result - массив индексов;
     */
    private static void printResult(int[] result) {
        if (result != null) {
            if (result.length > 0) {
                for (int index : result) {
                    System.out.printf("В рядку %d рівна кількість додатніх та від'ємних елементів;\n", index + 1);
                }
            } else {
                System.out.println("Hемає такого рядка, щоб була рівна кількість додатніх та від'ємних елементів;");
            }
        }
    }
 
    public static void main(String[] args) {
        int[][] deepArray = createDeepArray(HEIGHT, WEIGHT, minRange, maxRange);
        printDeepArray(deepArray);
        int[] result = getLineArray(deepArray);
        printResult(result);
    }
}
Добавлено через 33 минуты
а если изменить старый код, чтоб он выводил все индексы, где положительных и отрицательных одинаково
либо один раз, что не найдено, то вот код:

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
import java.util.Arrays;
import java.util.Random;
 
public class A {
    public static final int HEIGHT = 4;
    public static final int WEIGHT = 4;
    public static int minRange = -2;
    public static int maxRange = 2;
 
    public static void main(String[] args) {
        int[][] array = new int[HEIGHT][WEIGHT];
        Random random = new Random();
 
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                array[i][j] = random.nextInt(maxRange - minRange + 1) + minRange;
            }
            System.out.println(Arrays.toString(array[i]));
        }
 
        boolean isAnswer = false;
        for (int i = 0; i < array.length; i++) {
            int positive = 0;
            int negative = 0;
            for (int j = 0; j < array[i].length; j++) {
                if (array[i][j] > 0) {
                    positive++;
                } else if (array[i][j] < 0) {
                    negative++;
                }
            }
            if (positive == negative && positive != 0) {
                System.out.printf("В рядку %d рівна кількість додатніх та від'ємних елементів\n", i + 1);
                isAnswer = true;
            }
        }
 
        if (!isAnswer) {
            System.out.println("немає такого рядка, щоб була рівна кількість додатніх та від'ємних елементів");
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.02.2019, 01:17

Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов
Помогите плииз) 1. Дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в...

Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов
Дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное...

Нужно определить, есть ли в двумерном массиве столбец, в котором равное количество положительных и отрицательных элементов
Нужно определить, есть ли в двумерном массиве столбец, в котором равное количество положительных и отрицательных элементов и вывести их...

Массив: Определить есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.
Дан двумерный массив размером NxM, заполненный случайными числами. Определить есть ли в данном массиве столбец в котором равное количество...

Двумерный массив. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов
Условие задачи следующее: Дан двумерный массив размером nхm, заполненный случайными числами. Определить, есть ли в данном массиве столбец,...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли Введение: Экологический рынок как игра с нулевой суммой Традиционная экология долгое время. . .
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ Введение: Синдром «цифрового учебника» Современные большие языковые модели (LLM) обладают колоссальным. . .
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос. Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех. А широколиственный лес тоже имеет самую крутую биомассу. То почему не возникло их симбиоза? Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru