С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
1 / 1 / 0
Регистрация: 13.12.2017
Сообщений: 16

Задача по массивам

28.04.2019, 11:08. Показов 6572. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать программу, выполняющую следующие действия:

1) Ввод пользователем с клавиатуры количества элементов массива.

2) Создание одномерного массива целых чисел с выделением памяти под количество элементов, введенное пользователем.

3) Заполнение массива целыми случайными числами из диапазона [-50; 100]. Вывод элементов массива на экран.

4) Вывод на экран среднего арифметического элементов массива, а также минимального и максимального элемента массива.

5) Вывод на экран элементов массива, удовлетворяющих указанному в варианте условию. Если таких элементов нет, вывести соответствующее сообщение.

6) Найти в массиве элемент, введенный пользователем, используя алгоритм простого перебора. Вывести на экран индекс найденного элемента, или, если элемент не найден, соответствующее сообщение.

7) Отсортировать массив по возрастанию указанным в варианте методом. Вывести на экран элементы отсортированного массива.

8) Найти в массиве элемент, введенный пользователем, используя метод бинарного поиска. Если элемент найден, вывести на экран индекс найденного элемента. Если же элемент не найден, вывести соответствующее сообщение.

Результат работы программы должен выглядеть в соответствии с образцом, представленным ниже (обратите внимание, что для удобства восприятия используются пунктирные линии):

Введите число элементов массива: 10

--------------------------------------------------

Элементы массива:

40 -18 43 39 36 -19 -24 -22 31 26

--------------------------------------------------

Среднее арифметическое элементов массива: 13.2

Минимальный элемент массива равен: -24

Максимальный элемент массива равен: 43

--------------------------------------------------

Элементы массива, большие 3 и кратные 2:

40 36 26

--------------------------------------------------

Введите искомый элемент: -20

Элемент не найден!

--------------------------------------------------

Элементы массива после сортировки:

-24 -22 -19 -18 26 31 36 39 40 43

--------------------------------------------------

Введите искомый элемент: 40

Элемент найден! Индекс элемента: 8

Задача №1 а) Условие для вывода элементов массива в 5-м пункте задачи: число либо больше или равно 1, либо не кратно 6. б) Сортировку массива производить методом прямого выбора.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2019, 11:08
Ответы с готовыми решениями:

Задача по двумерным массивам
Задача: Дана матрица размера m x n . Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента. Перепробовал...

Задача по массивам (нужен совет с решением или расшифруйте что хотят в задаче)
"Задан массив, элементами которого являются произвольные целые числа. Необходимо определить (максимально оптимальным образом) элемент с...

Задача по массивам
В одномерном массиве, состоящем из п вещественных элементов, вычислить: • максимальный элемент массива; • сумму элементов массива,...

6
28.04.2019, 12:19
 Комментарий модератора 
Ksenons, на будущее: 1 вопрос - 1 тема! Читаем Правила форума
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
28.04.2019, 12:34
можно ли использовать stream в задаче?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
28.04.2019, 12:38

Не по теме:

ArtemFM, ну зачем же такой аццкий троллинг?

0
1 / 1 / 0
Регистрация: 13.12.2017
Сообщений: 16
28.04.2019, 13:09  [ТС]
думаю что можно
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
28.04.2019, 15:02
Лучший ответ Сообщение было отмечено Ksenons как решение

Решение

Ksenons, дабу
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
package ru.ismoke;
 
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;
 
public class Cyber {
    public static final String SEP = "--------------------------------------------------";
    public static final int MIN = -50;
    public static final int MAX = 100;
 
    public static void main(String[] args) {
        new Cyber().go();
    }
 
    public void go() {
 
        int[] array = getRandomArray(userInput("Введите число элементов массива: "), MIN, MAX);
 
        System.out.println("Элементы массива:");
        showArray(array);
 
        System.out.println(SEP);
        System.out.println("Среднее арифметическое элементов массива: " + getAverage(array));
        System.out.println("Минимальный элемент массива равен: " + findMin(array));
        System.out.println("Максимальный элемент массива равен: " + findMax(array));
        System.out.println(SEP);
 
        System.out.println("Элементы >= 1, либо не кратные 6: ");
        System.out.println(task(array));
        System.out.println(SEP);
 
        System.out.println(findIndex(userInput("Введите искомый элемент: "), array));
        System.out.println(SEP);
 
        System.out.println("Элементы массива после сортировки: ");
        showArray(selectionSort(array));
        System.out.println(SEP);
 
        System.out.println(binSearch(userInput("Введите искомый элемент: "), array));
        System.out.println(SEP);
 
        //--------------------------------------------------------------------
        System.out.println("++++++++++  M A T R I X  ++++++++++");
        int[][] matrix = getRandomMatrix(userInput("Введите количество строк: "), userInput("Введите количество " +
                "столбцов: "), MIN, MAX);
        System.out.println(SEP);
        showMatrix(matrix);
        System.out.println(SEP);
        System.out.println(task2(matrix));
        System.out.println(SEP);
 
    }
 
 
    private String binSearch(int elem, int[] array) {
        int first = 0, last = array.length - 1;
        int position = (first + last) / 2;
        selectionSort(array);
 
        while ((array[position] != elem) && (first <= last)) {
            if (array[position] > elem) {
                last = position - 1;
            } else {
                first = position + 1;
            }
            position = (first + last) / 2;
        }
 
        return (first <= last) ? ("Элемент найден! Индекс элемента: " + position) : "Элемент не найден!";
    }
 
    private int[] selectionSort(int[] array) {
        int index, temp, min;
        for (int i = 0; i < array.length; i++) {
            min = array[i];
            index = i;
            for (int j = i + 1; j < array.length; j++) {
                if (min > array[j]) {
                    min = array[j];
                    index = j;
                }
            }
            if (index != i) {
                temp = array[i];
                array[i] = array[index];
                array[index] = temp;
            }
        }
        return array;
    }
 
    private String findIndex(int item, int[] array) {
        for (int i = 0; i < array.length; i++) {
            if (array[i] == item) return "Элемент найден! Индекс элемента: " + i;
        }
        return "Элемент не найден!";
    }
 
    private int[] getRandomArray(int size, int min, int max) {
        int[] result = new int[size];
        for (int i = 0; i < size; i++) {
            result[i] = ThreadLocalRandom.current().nextInt(min, max);
        }
        return result;
    }
 
    private int[][] getRandomMatrix(int rows, int cols, int min, int max) {
        int[][] result = new int[rows][cols];
        for (int i = 0; i < rows; i++) {
            result[i] = getRandomArray(cols, min, max);
        }
        return result;
    }
 
    private void showArray(int[] array) {
        for (int value : array) {
            System.out.print(value + "\t");
        }
        System.out.println();
    }
 
    private void showMatrix(int[][] matrix) {
        for (int[] row : matrix) {
            showArray(row);
        }
    }
 
    private int findMin(int[] array) {
        int min = Integer.MAX_VALUE;
        for (int elem : array) {
            if (elem < min) min = elem;
        }
        return min;
    }
 
    private int findMax(int[] array) {
        int max = Integer.MIN_VALUE;
        for (int elem : array) {
            if (elem > max) max = elem;
        }
        return max;
    }
 
    private int getAverage(int[] array) {
        int sum = 0;
        for (int elem : array) {
            sum += elem;
        }
        return sum / array.length;
    }
 
    private String task(int[] array) {
        boolean find = false;
        StringBuilder result = new StringBuilder();
        for (int elem : array) {
            if (elem >= 1 || Math.abs(elem % 6) > 0) {
                result.append(elem).append(" ");
                find = true;
            }
        }
        return find ? result.toString() : "Чисел соотв. заданию не найдено!";
    }
 
    private String task2(int[][] matrix) {
        StringBuilder str = new StringBuilder("Наименьшие элементы четных строк матрицы: ");
        for (int i = 0; i < matrix.length; i += 2) {
            str.append(findMin(matrix[i])).append(" ");
        }
        return str.toString();
    }
 
    private int userInput(String mesage) {
        Scanner scan = new Scanner(System.in);
        System.out.print(mesage);
        return scan.nextInt();
    }
 
}
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
28.04.2019, 15:58
Задача на одномерные массивы:
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
import java.util.Scanner;
 
public class Array {
    public static void printArray(int[] array) {
        if (array != null) {
            for (int number : array) {
                System.out.print(number + " ");
            }
        }
    }
 
    public static double getAvg(int[] array) {
        double result = 0.;
        if (array != null) {
            int size = array.length;
            for (int number : array) {
                result += number;
            }
            if (size != 0) {
                result /= size;
            }
        }
        return result;
    }
 
    public static int getMin(int[] array) {
        int min = 0;
        if (array != null && array.length > 0) {
            min = array[0];
            for (int index = 1; index < array.length; index++) {
                if (min > array[index]) {
                    min = array[index];
                }
            }
        }
        return min;
    }
 
    public static int getMax(int[] array) {
        int max = 0;
        if (array != null && array.length > 0) {
            max = array[0];
            for (int index = 1; index < array.length; index++) {
                if (max < array[index]) {
                    max = array[index];
                }
            }
        }
        return max;
    }
 
    public static int[] createArray(int size, int min, int max) {
        int[] array = new int[size];
        for (int index = 0; index < size; index++) {
            array[index] = (int) (Math.random() * (max - min + 1)) + min;
        }
        return array;
    }
 
    public static int[] selectionSort(int[] array){
        if (array != null && array.length > 1) {
            for (int i = 0; i < array.length; i++) {
                int min = array[i];
                int minIndex = i;
                for (int j = i + 1; j < array.length; j++) {
                    if (array[j] < min) {
                        min = array[j];
                        minIndex = j;
                    }
                }
                if (i != minIndex) {
                    int temp = array[i];
                    array[i] = array[minIndex];
                    array[minIndex] = temp;
                }
            }
        }
        return array;
    }
 
    public static int indexOf(int[] array, int number) {
        int resultIndex = -1;
        if (array != null) {
            for (int index = 0; index < array.length; index++) {
                if (array[index] == number) {
                    resultIndex = index;
                    break;
                }
            }
        }
        return resultIndex;
    }
 
    public static int indexOfBinary(int[] array, int number) {
       int resultIndex = -1;
       if (array != null) {
           int start = 0;
           int end = array.length - 1;
           int cursor = (array.length - 1) / 2;
           array = selectionSort(array);
           while (array[cursor] != number && start <= end) {
               if (array[cursor] > number) {
                   end = --cursor;
               } else {
                   start = ++cursor;
               }
               cursor = (start + end) / 2;
           }
           if (array[cursor] == number) {
               resultIndex = cursor;
           }
       }
       return resultIndex;
    }
 
    public static int[] getArrayByTask(int[] array) {
        int[] result = new int[0];
        if (array != null) {
            int[] temp = new int[array.length];
            int count = 0;
            for (int number : array) {
                if (number >= 1 || number % 6 == 0) {
                    temp[count++] = number;
                }
            }
            result = new int[count];
            System.arraycopy(temp, 0, result, 0, count);
        }
        return result;
    }
}
 
class ArrayTest {
    private static final String SEPARATOR = "\n--------------------------------------------------\n";
    private static final int MIN = -50;
    private static final int MAX = 100;
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int size = getSize("Введите число элементов массива: ", in);
        int[] array = Array.createArray(size, MIN, MAX);
        printArray("Элементы массива:", array);
        getInfo(array);
        printArrayByTask("Элементы массива, большие или равные 1 или кратные 6:", array);
        printIndexElement("Введите искомый элемент: ", array, in);
        printSortArray("Элементы массива после сортировки:", array);
        printIndexElementByBinary("Введите искомый элемент: ", array, in);
    }
 
    private static int getSize(String text, Scanner in) {
        System.out.print(text);
        int result = in.nextInt();
        System.out.println(SEPARATOR);
        return result;
    }
 
    private static void printArray(String text, int[] array) {
        System.out.println(text + "\n");
        Array.printArray(array);
        System.out.println("\n" + SEPARATOR);
    }
 
    private static void getInfo(int[] array) {
        System.out.printf("Среднее арифметическое элементов массива: %.1f\n\n", Array.getAvg(array));
        System.out.println("Минимальный элемент массива равен: " + Array.getMin(array) + "\n");
        System.out.println("Максимальный элемент массива равен: " + Array.getMax(array));
        System.out.println(SEPARATOR);
    }
 
    private static void printArrayByTask(String text, int[] array) {
        int[] result = Array.getArrayByTask(array);
        System.out.println(text + "\n");
        Array.printArray(result);
        System.out.println("\n" + SEPARATOR);
    }
 
    private static void printIndexElement(String text, int[] array, Scanner in) {
        System.out.print(text);
        int number = in.nextInt();
        int index = Array.indexOf(array, number);
        System.out.println();
        System.out.println(index == -1 ? "Элемент не найден!" : "Элемент найден! Индекс элемента: " + index);
        System.out.println(SEPARATOR);
    }
 
    private static void printSortArray(String text, int[] array) {
        System.out.println(text + "\n");
        array = Array.selectionSort(array);
        Array.printArray(array);
        System.out.println("\n" + SEPARATOR);
    }
 
    private static void printIndexElementByBinary(String text, int[] sortArray, Scanner in) {
        System.out.print(text);
        int number = in.nextInt();
        int index = Array.indexOfBinary(sortArray, number);
        System.out.println();
        System.out.println(index == -1 ? "Элемент не найден!" : "Элемент найден! Индекс элемента: " + index);
        System.out.println(SEPARATOR);
    }
}
Добавлено через 38 секунд
Вывод:
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
Введите число элементов массива: 10
 
--------------------------------------------------
 
Элементы массива:
 
86 -11 -1 43 55 30 -24 -15 -15 -20 
 
--------------------------------------------------
 
Среднее арифметическое элементов массива: 12,8
 
Минимальный элемент массива равен: -24
 
Максимальный элемент массива равен: 86
 
--------------------------------------------------
 
Элементы массива, большие или равные 1 или кратные 6:
 
86 43 55 30 -24 
 
--------------------------------------------------
 
Введите искомый элемент: 55
 
Элемент найден! Индекс элемента: 4
 
--------------------------------------------------
 
Элементы массива после сортировки:
 
-24 -20 -15 -15 -11 -1 30 43 55 86 
 
--------------------------------------------------
 
Введите искомый элемент: -1
 
Элемент найден! Индекс элемента: 5
 
--------------------------------------------------
 
 
Process finished with exit code 0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2019, 15:58
Помогаю со студенческими работами здесь

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

Задача по массивам
В массивах А, В и С каждый элемент разделить на среднее арифметическое элементов массива.

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

Задача по массивам
Найти среднее значение положительных и среднее значение отрицательных элементов массива

задача по массивам
заданы массивы A1(6),A2(7),A3,A4(6). Определить, какие из них упорядочены по возрастанию. Определение упорядоченности массива оформить в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru