0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 31
1

В массиве все отрицательные элементы заменить минимальным значением массива, а положительные - максимальным

07.10.2019, 21:07. Показов 3320. Ответов 4
Метки нет (Все метки)

В двумерном массиве целых чисел все отрицательные элементы заменить минимальным значением массива, а положительные - максимальным.
P.S двумерный массив задавать самому и заполнять рандомно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2019, 21:07
Ответы с готовыми решениями:

Все отрицательные элементы матрицы заменить минимальным элементом, а все положительные - максимальным
В двумерном N*K массиве целых чисел все отрицательные элементы заменить минимальным элементом...

Нужно найти элемент с минимальным значением и заменить его значением все отрицательные элементы массива
Написать алгоритм решения следующей задачи Задан масив K. Нужно найти элемент с минимальным...

Заменить все отрицательные члены последовательности ее минимальным элементом, а все положительные - максимальным
Дано натуральное число n и последовательность действительных чисел a1,a2...an.Заменить все...

В массиве b все положительные элементы заменить минимальным элементом массива a
Создать случайным образом массив a и b. В массиве b все положительные элементы заменить минимальным...

4
Эксперт PythonЭксперт Java
14599 / 8468 / 2516
Регистрация: 21.10.2017
Сообщений: 20,004
07.10.2019, 21:52 2
Даша57, тут тыщи таких решений, воспользуйся поиском.
0
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 874
08.10.2019, 04:42 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.Arrays;
import java.util.Scanner;
 
public class ChangeArray {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Введите размеры двумерного массива, " +
                "через пробел:");
        int x = in.nextInt();
        int y = in.nextInt();
        System.out.println("Введите границы диапазона значений " +
                "целочисленных элементов массива, " +
                "через пробел:");
        int a = in.nextInt();
        int b = in.nextInt();
        int len = Math.max(String.valueOf(a).length(), String.valueOf(b).length());
        int[][] matr = new int[x][y];
        int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
        System.out.println("\nМассив " + x + "x" + y + ", заполненный случайными " +
                "целыми числами из диапазона [" + a + ", " + b + "]:\n");
        for (int i = 0; i < matr.length; i++) {
            for (int j = 0; j < matr[0].length; j++) {
                matr[i][j] = (int) (Math.random() * (b - a + 1) + a);;
                System.out.printf("%" + (len + 2) + "d", matr[i][j]);
                if (matr[i][j] < min) min = matr[i][j];
                if (matr[i][j] > max) max = matr[i][j];
            }
            System.out.println();
        }
        System.out.println("\nМаксимальный элемент массива: " + max);
        System.out.println("Минимальный элемент массива: " + min);
        int[][] matr2 = new int[x][y];
        System.out.println("\nМассив, измененный согласно условию задачи:\n");
        for (int i = 0; i < matr2.length; i++) {
            for (int j = 0; j < matr2[0].length; j++) {
                if (matr[i][j] > 0) {
                    matr2[i][j] = max;
                } else if (matr[i][j] < 0) {
                    matr2[i][j] = min;
                }
                System.out.printf("%" + (len + 2) + "d", matr2[i][j]);
            }
            System.out.println();
        }
    }
}

Код
Введите размеры двумерного массива, через пробел:
4 8
Введите границы диапазона значений целочисленных элементов массива, через пробел:
-50 150

Массив 4x8, заполненный случайными целыми числами из диапазона [-50, 150]:

   84  -40   63   65   89  111  136  -18
   20  132  -41   -8   92  109   26    4
  146   62   71   -9   41  116  128   -5
  102  136    0   45  -27   36   14  -37

Максимальный элемент массива: 146
Минимальный элемент массива: -41

Массив, измененный согласно условию задачи:

  146  -41  146  146  146  146  146  -41
  146  146  -41  -41  146  146  146  146
  146  146  146  -41  146  146  146  -41
  146  146    0  146  -41  146  146  -41
1
66 / 43 / 24
Регистрация: 18.08.2019
Сообщений: 129
08.10.2019, 17:47 4
Без циклов, только стримы. Было интересно попробовать

Кликните здесь для просмотра всего текста
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
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.Random;
import java.util.stream.IntStream;
 
public class TestRandomArr {
    
    static int[][] matr;
 
    public static void main(String[] args) {
        int x = 7;               // Number of outer array elements
        int y = 14;               // Number of inner array elements
        int a = -11;             // Min value of numbers
        int b = 20;              // Max value of numbers
        int min, max;            // Min/Max values of array
 
        System.out.println(""); //----------------------------------------------
        System.out.println("Массив " + x + "x" + y + ", заполненный случайными " + 
                "целыми числами из диапазона [" + a + ", " + b + "] (вариант 1):");
        matr = IntStream.range(0, x)                                       // iterate 0..x
                .mapToObj(i -> IntStream.range(0, y)                       // for each iterate 0..y
                        .map(j -> (int) (Math.random() * (b - a + 1) + a)) // generate random value
                        .toArray())                                        // compose the inner array
                .toArray(int[][]::new);                                    // compose the outer array
        Arrays.stream(matr) // print matrix
                .forEach((row) -> {Arrays.stream(row)
                        .forEach((element) -> System.out.printf("%4d",element));
                                              System.out.println("");});
        System.out.println(""); //----------------------------------------------
        System.out.println("Массив " + x + "x" + y + ", заполненный случайными " + 
                "целыми числами из диапазона [" + a + ", " + b + "] (вариант 2):");
        matr = IntStream.range(0, x)                                     // iterate 0..x - rows
                .mapToObj(j -> new Random().ints(y, a, b + 1).toArray()) // compose the inner array
                .toArray(int[][]::new);                                  // compose the outer array
        Arrays.stream(matr) // print matrix
                .forEach((row) -> {Arrays.stream(row)
                        .forEach((element) -> System.out.printf("%4d",element));
                                              System.out.println("");});
        System.out.println(""); // Statistics ----------------------------------
        IntSummaryStatistics stats = Arrays.stream(matr) // iterate rows
                .flatMapToInt(Arrays::stream)            // stream values of rows
                .summaryStatistics();                    // summary statictics
        max = stats.getMax();        
        min = stats.getMin();
        System.out.println("Максимальный элемент массива: " + max);
        System.out.println("Минимальный элемент массива: " + min);
        System.out.println(""); //----------------------------------------------
        System.out.println("Печать согласно условию задачи, без изменения массива:");
        for (int[] row : matr) {
            Arrays.stream(row)
                    .map(i -> i < 0? min: i > 0? max: 0)
                    .forEach(i -> System.out.printf("%4d", i));
            System.out.println("");
        }
        System.out.println(""); //----------------------------------------------
        System.out.println("Изменение массива согласно условию задачи, и печать:");
        matr = IntStream.range(0, x)
                .mapToObj(j -> IntStream.of(matr[j])
                        .map(i -> i < 0? min: i > 0? max: 0)
                        .toArray())
                .toArray(int[][]::new);
        Arrays.stream(matr) // print matrix
                .forEach((row) -> {Arrays.stream(row)
                        .forEach((element) -> System.out.printf("%4d",element));
                                              System.out.println("");});
        
    }
}
1
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 31
19.10.2019, 19:46  [ТС] 5
А как двумерный массив ввести еще вручную? И выбирать как ввести массив вручную или рандомно?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2019, 19:46
Помогаю со студенческими работами здесь

В массиве заменить все элементы, стоящие на четных местах, максимальным значением массива
Выдает ошибки в этом &quot;i:=i+2&quot;. Что не так? procedure TForm1.Button1Click(Sender: TObject);...

Заменить все положительные элементы матрицы значением максимального, а отрицательные - значением минимального элемента
Нужна помощь в написании программы на Java. Дано матрицу A . Элементы матрицы нужно ввести с...

В заданном массиве М (14) заменить все отрицательные элементы, стоящие на четных местах, его максимальным элементом, а на нечетных - его минимальным э
В заданном массиве М (14) заменить все отрицательные элементы, стоящие на четных местах, его...

В заданном массиве чисел заменить все элементы между минимальным и максимальным элементами массива нулями
Во всех вариантах элементы массива вводить с помощью генератора случайных чисел. Обязательно...

Все отрицательные числа в массиве заменить минимальным значением элемента
Есть массив из n-чисел. Все отрицательные числа в нем заменить минимальным значением элемента этого...

Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива
Здравствуйте, стоит такая задача: Сгенерировать одномерный целочисленный массив случайного размера...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru