var MyArray : array[1..10, 1..10] of byte;
begin
MyArray[5, 3] := 3;
MyArray[6, 3] := 4;
MyArray[4, 4] := 2;
MyArray[5, 4] := 3;
//И так по всем клеткам
...
end.
Двухмерный массив в паскале.Помогите,пожалуйста!
Я одномерный массив более или менее понимаю, а вот с двухмерным проблемы. Нам задали в паскале сделать вот такое задание :
Заполнить в двухмерном массиве серую фигурку (как на картинке внизу) значениями 1,2,3,4,5...по вертикали.
Вот какую фигуру надо заполнить -
http://i124.photobucket.com/albums/p5/NexY_photos/Picture044-1.jpg
Вот запутался..не могу разобраться как это заполнить ...Помогите, пожалуйста...если можно, по-проще (я только начал изучать массивы :)) )
Приведите, пожалуйста, полностью текст Вашего задания.
Код:
http://i124.photobucket.com/albums/p5/NexY_photos/massiv.jpg
но с клавиатуры значения вводит нельзя и просто каждой клетке значение присвоить тоже... :(( Надо именно циклы использовать
Код:
Var A: Array [1..10, 1..10] of Integer;
B: Array [1..10] of String;
I,J,K : Integer;
Begin
{
Тут надо ввести картинку.
Если найдёте способ проще - сообщите мне.
}
B[ 1]:= '0000000000';
B[ 2]:= '0000000000';
B[ 3]:= '0000110000';
B[ 4]:= '0001110000';
B[ 5]:= '0011001000';
B[ 6]:= '0011001000';
B[ 7]:= '0001110000';
B[ 8]:= '0000110000';
B[ 9]:= '0000000000';
B[10]:= '0000000000';
{
Тут якобы массив заполняется 0 и 1, маской будет.
}
For I := 1 To 10 Do
For J := 1 To 10 Do
Begin
If B[J] = '1' Then A[I,J] := 1
Else A[I,J] := 0;
End;
{
Собственно заполнение.
Если циклы I и J поменять местами, то порядок
заполнения будет другим.
}
K := 1;
For J := 1 To 10 Do
For I := 1 To 10 Do
Begin
A[I,J] := A[I,J] * K;
If A[I,J] <> 0 Then Inc(K);
End;
{
Любимая часть программы всех преподов - вывод 2D массива на экран.
}
For I := 1 To 10 Do
Begin
For J := 1 To 10 Do
Write(A[I,J]:3);
WriteLn;
End;
End.
B: Array [1..10] of String;
I,J,K : Integer;
Begin
{
Тут надо ввести картинку.
Если найдёте способ проще - сообщите мне.
}
B[ 1]:= '0000000000';
B[ 2]:= '0000000000';
B[ 3]:= '0000110000';
B[ 4]:= '0001110000';
B[ 5]:= '0011001000';
B[ 6]:= '0011001000';
B[ 7]:= '0001110000';
B[ 8]:= '0000110000';
B[ 9]:= '0000000000';
B[10]:= '0000000000';
{
Тут якобы массив заполняется 0 и 1, маской будет.
}
For I := 1 To 10 Do
For J := 1 To 10 Do
Begin
If B[J] = '1' Then A[I,J] := 1
Else A[I,J] := 0;
End;
{
Собственно заполнение.
Если циклы I и J поменять местами, то порядок
заполнения будет другим.
}
K := 1;
For J := 1 To 10 Do
For I := 1 To 10 Do
Begin
A[I,J] := A[I,J] * K;
If A[I,J] <> 0 Then Inc(K);
End;
{
Любимая часть программы всех преподов - вывод 2D массива на экран.
}
For I := 1 To 10 Do
Begin
For J := 1 To 10 Do
Write(A[I,J]:3);
WriteLn;
End;
End.
Спасибо :) Попробую всё сделать как надо :)
помогите с прогой плизз.
Найти наибольший из минимальных элементов каждого столбца матрицы А и его координаты в матрице.:(