Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Двумерные массивы


Автор: sprut 1.8.2009, 00:44
Здравствуйте!

user posted image
user posted image

В каком месте присваиваются массиву Twod[][] такие значения которые показаны на выходе программы?

Автор: sprut 1.8.2009, 01:28
 smile 

Автор: NightmareZ 1.8.2009, 01:47
Цитата(sprut @  1.8.2009,  00:44 Найти цитируемый пост)
В каком месте присваиваются массиву Twod[][] такие значения которые показаны на выходе программы?


В этом:
Код

for (i = 0; i < 4; i++)
    for (j = 0; j < 5; j++) {
        twoD[i][j] = k;
        k++;
    }

Автор: dorogoyIV 1.8.2009, 05:26
прикольно  smile 
такого я еще не видел  smile 
(код в картинках  smile )

Автор: sprut 1.8.2009, 13:50
Код

public class massive {

    public static void main(String args[]) {
        
        int twod[] = new int [5];
        int j ,k = 0;
        
            for(j = 0; j < 5; j++) {
                twod[j] = k;
                k++;
            }
            for(j = 0; j < 5; j++)
                System.out.print(twod[j] + " ");
            System.out.println();
            
        } 
    }



Блин с одномерным массивом я понимаю как действует

Код

int twod[] = new int [5]; //Созаем массив размерностью 5. Вначале он не принимает ни каких значений тоесть выглядить так [o][0][0][0][0]
        int j ,k = 0; // Объявляем переменные j и K где К присваеваем 0 
        
            for(j = 0; j < 5; j++) { //Здесь цикл где пробегаемся по ссылкам массива и каждой ссылке присваивается
                twod[j] = k; // Значение K
                k++;
            }
            for(j = 0; j < 5; j++) // Потом опять пробегаемся по ссылкам 
                System.out.print(twod[j] + " "); // И выводим значение каждой ссылке здесь
            System.out.println();


Но блин с двумерным ну ни как себе не представляю как действует программа у которой код выше в картинках. Помогите плиз.  smile 

Автор: Galaran 1.8.2009, 15:10
Двумерный массив - это массив, каждый элемент которого указывает на одномерный массив
Примерно так:

user posted image

В этом случае массив будет размером [9][4]. 1й индекс указывает на номер ряда, 2й на номер столбца в нем

Автор: sprut 1.8.2009, 15:31
Получается в программе двумерного массива 
Размер массива:

[0][0] [0][0] [0][0] [0][0] [0][0]
[0][0] [0][0] [0][0] [0][0] [0][0]
[0][0] [0][0] [0][0] [0][0] [0][0]
[0][0] [0][0] [0][0] [0][0] [0][0]
[0][0] [0][0] [0][0] [0][0] [0][0]
[0][0] [0][0] [0][0] [0][0] [0][0]

Создается такой массив в данной строке: 
Код

int twoD[][] = new int [4][5];


так как значения каждого элемента в массиве не указаны по умолчанию они 0

Код

for(i = 0; i < 4; i++)
for (j = 0; j = 5; j++) 
{
twoD[i][j] = k;
k++;
}


Меня интересует каким образом в цикле пробегается по ссылкам массива (i, j) и записывает в счетчик 
Код

twoD[i][j] = k;
k++;


Если посмотреть на кусочек цикла то должно быть так:

twoD[0][0]

размер массива
i = 0 j = 0
[0][0] 
(k = 0)
далее k++ = 1
i = 1 j = 1
[0][0] [0][0]
[0][0] [0][0]
(K =1)
Далее k++ = 2

и т.п

или не так?


Что он вытаскивает для вывода результата на экран?
K - ? 

Автор: sprut 1.8.2009, 16:24
разобрался всем спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)