Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему? / 6 сообщений из 6, страница 1 из 1
13.01.2017, 16:18
    #39384326
040985
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
Сортировка массива при значении 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;
				}
			}
		}
...
Рейтинг: 0 / 0
13.01.2017, 16:51
    #39384363
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
040985,
это что за бред
table[i].length
...
Рейтинг: 0 / 0
13.01.2017, 16:58
    #39384370
040985
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
rema174040985,
это что за бред
table[i].length

Бред не бред, но работает

Вот полный код:
Код: 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 = 0; 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 / 0
13.01.2017, 17:27
    #39384405
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
040985Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
Потому что первый элемент массива имеет индекс 0.

040985Если я правильно понимаю код

Ну, если должна, а не работает, то, вероятно и понимаете неправильно?

040985просто при значении 1 кол-во повторений второго цикла должно быть меньше.
А при значении 2?

Читать до просветления
...
Рейтинг: 0 / 0
13.01.2017, 17:28
    #39384408
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
040985,

Я надеюсь вопрос у вас чисто учебный и как тоже самое сделать нормально вас не интересует?
...
Рейтинг: 0 / 0
13.01.2017, 17:42
    #39384420
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему?
040985,

когда j=0 ты начинаешь с первого элемента сравнивать с остальными, а в случае с j=1 не с первого , поэтому все работает не так
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Сортировка массива при значении int j = 1 не работает, а при значении 0 работает, почему? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]