Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
-11 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 215
1

Массив: Переписать все числа в обратном порядке и вывести в новом массиве

12.11.2015, 10:20. Показов 5108. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1) Создать двумерный массив 5x5 , с элементами типа байт . Заполнить массив раномными числами . Вывести на экран . Переписать все числа в обратном порядке и вывести в новом массиве .


Вот такое задание , буду очень признателен за вашу скромную помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2015, 10:20
Ответы с готовыми решениями:

Переписать в новый массив все числа, в обратном порядке
Дан одномерный массив из целых чисел М(20). Переписать в новый массив все числа, в обратном порядке.

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

Вывести числа в обратном порядке, при этом переставив все цифры в каждом числе в обратном порядке
Чтобы Вовочка не скучал на уроке информатики, Иван Иваныч специально для него к каждому уроку...

В вещественном массиве переписать в обратном порядке все положительные элементы
Требуется помощь в решении данной проблемки. Текст задания В вещественном массиве переписать в...

12
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
12.11.2015, 10:31 2
Помощь не заставит себя ждать, если будут хоть какие-нибудь комментарии о том, какие проблемы возникли при выполнении задания. За исключением проблем, заключающихся в лени или тотальном незнании
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
12.11.2015, 11:43 3
Лучший ответ Сообщение было отмечено orakul77 как решение

Решение

Так в вашей теме же уже был пример вывода массива и каркас программки. Остается только добавить код с заполнением массива случайными числами (спокойно гуглится) и простое присваивание в цикле в обратном порядке.

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
public class JavaApplication23 {
    public static void main(String[] args) {
        int size = 5;
        byte[][] arr = new byte[size][size]; //объявляем
        Random r = new Random();
        for (int i = 0; i < size; i++) {
            r.nextBytes(arr[i]); //заполняем
        }
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                System.out.print(arr[i][j] + " "); //выводим
            }
            System.out.println("");
        }
        
        byte[][] brr = new byte[size][size];
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) 
                brr[i][j] = arr[size-1-i][size-1-j]; //копируем в обратном порядке
        }
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                System.out.print(brr[i][j] + " "); //выводим новый массив
            }
            System.out.println("");
        }
    }
}
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
12.11.2015, 13:13 4
Лучший ответ Сообщение было отмечено orakul77 как решение

Решение

megastriker, так там в задании вроде как сказано, что нужно в другой массив записать обратный порядок байт. Может вот этак проще будет:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    static byte[][] five = new byte[5][5];
    void zadacha(){
        byte[][] anti = new byte[5][5];
        for(int i = 0; i < five.length; i++){
            for(int j = 0; j < five[i].length; j++){
                five[i][j] = (byte) (Math.random() * 25);
                System.out.print(five[i][j] + "\t");
            }
            System.out.println();
        }
        System.out.println("----------------------------------");
        for(int i = 0; i < anti.length; i++){
            for(int j = 0; j < anti[i].length; j++){
                anti[i][j] = five[five.length - 1 - i][five[i].length - 1 - j];
                System.out.print(anti[i][j] + "\t");
            }
            System.out.println();
        }
    }
вывод будет вот в таком виде:
16 5 5 21 0
16 16 6 2 5
15 10 5 14 2
5 6 3 6 2
14 21 5 23 6
-----------------------------
6 23 5 21 14
2 6 3 6 5
2 14 5 10 15
5 2 6 16 16
0 21 5 5 16
1
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
12.11.2015, 13:41 5
HOBATOP, у вас не совсем корректный random. Byte от -128 до 127, по-моему. У вас же только положительные числа и только до 25.
Во-вторых, чем ваш ответ отличается от моего? В результате должно получится одно и то же.
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
12.11.2015, 14:21 6
megastriker, так я же такой же новичок в Java, как и автор темы. Размещая подобные решения имею "тайный замысел" получить какие-нибудь советы или критику. Вот Вы обратили внимание на random, подсказали. Спасибо за это. Код, конечно же, принципиальных различий не имеет, ну разве что меньше циклов. Но основная моя идея, чтобы люди покритиковали то, что я изваял. :-)
0
-11 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 215
17.11.2015, 10:40  [ТС] 7
Тока последний вопрос , этот второй вариант программы - не запускаеться , мне сказали , что метод в методе, это никогда не будет работать.
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
17.11.2015, 10:55 8
Цитата Сообщение от orakul77 Посмотреть сообщение
второй вариант программы - не запускаеться
если заменить void zadacha() на public static void main(String[] args), то должно.
0
-11 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 215
17.11.2015, 10:57  [ТС] 9
Где думаете ошибка ?) Всеравно чтот бред какойт пишет

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class massiv {
 
        static byte[][] five = new byte[5][5];
        public static void main(String[] args){
            byte[][] anti = new byte[5][5];
            for(int i = 0; i < five.length; i++){
                for(int j = 0; j < five[i].length; j++){
                    five[i][j] = (byte) (Math.random() * 25);
                    System.out.print(five[i][j] + "\t");
                }
                System.out.println();
            }
            System.out.println("----------------------------------");
            for(int i = 0; i < anti.length; i++){
                for(int j = 0; j < anti[i].length; j++){
                    anti[i][j] = five[five.length - 1 - i][five[i].length - 1 - j];
                    System.out.print(anti[i][j] + "\t");
                }
                System.out.println();
            }
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
17.11.2015, 11:07 10
Цитата Сообщение от orakul77 Посмотреть сообщение
бред какойт пишет
какой?

если это весь код, то скобки закрытия класса не хватает
0
-11 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 215
17.11.2015, 11:17  [ТС] 11
ну могли-бы просото написать рабочий вариант , который бы все это выводил - надо показать сейчас преподу
0
53 / 53 / 39
Регистрация: 05.12.2010
Сообщений: 261
17.11.2015, 12:55 12
orakul77, могли бы пораскинуть мозгами, подумать и сами написать, никто вам тут ничего не должен и просто делать не будет.
Я вам привел рабочий вариант программы (который правильнее 2-го варианта) еще 5 дней назад, не борзейте.
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
17.11.2015, 17:36 13
Лучший ответ Сообщение было отмечено orakul77 как решение

Решение

orakul77, так вы студент... Прекрасное время! "Кто был студентом - тот видел юность, кто был солдатом - тот видел жизнь!". Чему же Вас ваши преподы учат-то, коли элементарных вещей не понимаете?
Небольшой прыжок в сторону, типа анекдот: "Профессор орёт: "Ну что за тупые пошли студенты?!! Я им объясняю тему - не понимают! Второй раз объясняю - не понимают!! Третий раз - опять не понимают!!! В четвёртый раз объясняю - сам уже понял - а они всё-равно не понимают!"
Вопрос: как в Java запускаются методы? Только внутри какого-нибудь класса, логично? Значит создаёте класс, в котором лежит некий метод, а уж откуда создавать объект (ну или экземпляр класса) вообще дело пятое. Можно (простейший случай) вот так:
Java
1
2
3
4
5
6
7
8
9
package errortest;
 
public class LoadKeyError {
 
    public static void main(String[] args) {
        Zadacha pusk = new Zadacha();
        pusk.zadacha();
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package errortest;
 
public class Zadacha {
    static byte[][] five = new byte[5][5];
    void zadacha(){
        byte[][] anti = new byte[5][5];
        for(int i = 0; i < five.length; i++){
            for(int j = 0; j < five[i].length; j++){
                five[i][j] = (byte) (Math.random() * 25);
                System.out.print(five[i][j] + "\t");
            }
            System.out.println();
        }
        System.out.println("----------------------------------");
        for(int i = 0; i < anti.length; i++){
            for(int j = 0; j < anti[i].length; j++){
                anti[i][j] = five[five.length - 1 - i][five[i].length - 1 - j];
                System.out.print(anti[i][j] + "\t");
            }
            System.out.println();
            }
        }
    }
Какие сложности?! И, кстати, megastriker, Вам дал хороший ответ и совет...
0
17.11.2015, 17:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2015, 17:36
Помогаю со студенческими работами здесь

Переписать числа из массива X в массив Y в обратном порядке
Дан массив X из 10 чисел. Переписать числа из массива X в массив Y в обратном порядке...

Переписать все элементы массива А в массив А1 в обратном порядке
Ввести массив А(n). Переписать все элементы массива А в массив А1 в обратном порядке. Массивы А и...

Переписать в другой файл все числа в обратном порядке используя класс Stack
помогите пожалуйста решить следущую задачу с использованием класса Stack: Дан файл, в котором...

Переставить все числа в массиве в обратном порядке
Как это можно реализовать? Вот что есть на данный момент #include &quot;stdafx.h&quot; #include...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru