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

Почему при значении int j = 1 сортировка массива не работает, а при значении 0 работает?

13.01.2017, 16:02. Показов 1791. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему при значении int j = 1 сортировка массива не работает, а при значении 0 работает?
Если я правильно понимаю код, то должна работать и при значении 0 и при значении 1, просто при значении 1 кол-во повторений второго цикла должно быть меньше.


Java
1
2
3
4
5
6
7
8
9
10
    // сортировка массива по количеству столбцов
        for (int i = 0; i < table.length; i++) { 
            for (int j = 1; j < table.length; j++){  
                if(table[i].length < table[j].length){
                    int[] a = table[i];
                    table[i] = table[j];
                    table[j] = a;
                }
            }
        }

Кликните здесь для просмотра всего текста
Весь код тут
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
public class Page69N1 {
    public static void main(String[] args) {
 
        // создаем массим с 0
        int table[][] = new int[4][]; 
        for (int i = 0; i < table.length; i++) {
            table[i] = new int[(int) (Math.random() * 10 + 1)];
        }
        
        // присваиваем массиву не нули
        for (int i = 0; i < table.length; i++) {    
            for (int j = 0; j < table[i].length; j++) {
                table[i][j] = (int) (Math.random() * 10 + 1);
            }
            
        }
 
        // выводим не отсортированный массив
        for (int i = 0; i < table.length; i++) { 
            for (int j = 0; j < table[i].length; j++) {
                System.out.print(table[i][j] + "\t");
            }
            System.out.println();
            
        }
 
        // сортировка массива по количеству столбцов
        for (int i = 0; i < table.length; i++) { 
            for (int j = 1; j < table.length; j++){  // почему при значении int j = 1 сортировка не работает, а при значении 0 работает?
                if(table[i].length < table[j].length){
                    int[] a = table[i];
                    table[i] = table[j];
                    table[j] = a;
                }
            }
        }
        
        System.out.println(); // пустая строка для разделения
        System.out.println("Отсортированный массив по количеству столбцов");
        // выводим отсортированный массив
        for (int i = 0; i < table.length; i++) { 
            for (int j = 0; j < table[i].length; j++) {
                System.out.print(table[i][j] + "\t");
            }
            System.out.println();
            
        }
        
        
    }
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2017, 16:02
Ответы с готовыми решениями:

Почему при аккумулирующем значении все работает быстрее?
Здравствуйте, возможно, вопрос глуповатый, но все же: почему аккумулирующее значение дает столь...

При одном значении g заполнить одну таблицу, а при другом значении g - вторую
Здравствуйте. Помогите пожалуйста решить проблему. По программе должны считаться определенные...

Как сделать чтобы при значении "Забил" Игрок 1 бил дальше, а при значении "Промахнулся" ход переходил другому игроку.
Покажите как правильно сделать,чтобы при значение &quot;Забил&quot; например Игрок 1 дальше бил, чтобы ...

почему здесь в коде из книги при значении равном NULL не удаляется указатель на динамическую память?
#include &lt;iostream&gt; using namespace std; class MyString { private: public: char* Buffer;

9
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
13.01.2017, 16:10 2
что это у вас за сортировка такая интересная, где оба цикла по всему интервалу бегают?
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
13.01.2017, 16:21  [ТС] 3
Цитата Сообщение от neske Посмотреть сообщение
что это у вас за сортировка такая интересная, где оба цикла по всему интервалу бегают?
Предложите свою
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
13.01.2017, 16:22 4
зачем мне что-то предлагать, если вам достаточно набрать пару слов в поисковике?
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
13.01.2017, 16:27  [ТС] 5
Цитата Сообщение от neske Посмотреть сообщение
зачем мне что-то предлагать, если вам достаточно набрать пару слов в поисковике?
ну начинается, зачем тогда этот форум, ведь все можно найти в поисковике...

мне всего-то нужна помощь в вопросе
Почему при значении int j = 1 сортировка массива не работает, а при значении 0 работает?
0
226 / 195 / 71
Регистрация: 21.10.2016
Сообщений: 440
13.01.2017, 17:03 6
Java
1
if (table[i] < table[j])
0
494 / 340 / 134
Регистрация: 14.06.2016
Сообщений: 658
13.01.2017, 17:26 7
Лучший ответ Сообщение было отмечено 040985 как решение

Решение

Если это попытка сортировки пузырьком, то
Java
1
2
for (int i = 0; i < table.length; i++) { 
    for (int j = i + 1; j < table.length; j++){
. А, вообще
Java
1
Arrays.sort(table, (i, j) -> Integer.compare(i.length, j.length));
1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.01.2017, 18:02 8
Цитата Сообщение от 040985 Посмотреть сообщение
ну начинается, зачем тогда этот форум, ведь все можно найти в поисковике...
Ты не хочешь потратить 10 минут своего времени в дебаггере и гугле, но хочешь чтоб другие разбирались с твоим говнокодом. Тут кто-то нанимался что ли на твои вопросы отвечать?
0
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 97
13.01.2017, 19:08  [ТС] 9
Цитата Сообщение от xoraxax Посмотреть сообщение
Ты не хочешь потратить 10 минут своего времени в дебаггере и гугле, но хочешь чтоб другие разбирались с твоим говнокодом. Тут кто-то нанимался что ли на твои вопросы отвечать?
Уже пару часов разбираюсь, пока туго идёт вот и спросил. Если вы не знаете или не хотите помочь, то зачем писать всякую ерунду.

Добавлено через 10 минут
Цитата Сообщение от vcrop Посмотреть сообщение
Если это попытка сортировки пузырьком, то
JavaВыделить код
1
2
for (int i = 0; i < table.length; i++) {
* * for (int j = i + 1; j < table.length; j++){
спасибо брат! это помогло
0
226 / 195 / 71
Регистрация: 21.10.2016
Сообщений: 440
13.01.2017, 19:16 10
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class TipaSort {
 
    public static void main(String[] args) {
        int[] table = {1, 9, 2, 8, 3, 7, 4, 6, 5};
 
        for (int i = 0; i < table.length; i++) {
            for (int j = 0; j < table.length; j++) {
                if (table[i] < table[j]) {
                    int a = table[i];
                    table[i] = table[j];
                    table[j] = a;
                }
            }
        }
 
        for (int i = 0; i < table.length; i++) {
            System.out.print(" " + table[i]);
        }
        System.out.println();
    }
}
Bash
1
2
3
const@mate ~/progs $ javac TipaSort.java
const@mate ~/progs $ java TipaSort
 1 2 3 4 5 6 7 8 9
0
13.01.2017, 19:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2017, 19:16
Помогаю со студенческими работами здесь

При любом значении размера массива, всегда N-12 элемент будет равен NaN
В цикле происходит заполнение массива из файла. Каким-то образом выходит, что при любом значении...

Как вычислить значение функции при любого вида при любом значении аргумента?
Как вычислить значение функции при любого вида при любом значении аргумента,т.е. пользователь пишет...

При неверном значении все ок просвечивается одна надпись,а при успехе сразу три
Привет всем я учусь на Паскале. Так вышло что я поставил сам себе задачу: У меня самое простое...

При каком значении k треугольник АВС является равнобедренным при данных координатах вершин.
Даны точки А(1;0;k) В(-1;2;3) С(0;0;1). При каком значении k треугольник АВС является...


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

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