Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2008, 17:43   #1
пукарь
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 24
Вопрос 2х мерный массив - помощь

я построил 2х мерный массив. На экране он изобржон в клеточку, как тетрадь. Как я могу изменить его положение на экране?
пукарь вне форума Ответить с цитированием
Старый 27.10.2008, 17:49   #2
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Используйте функции модуля Crt. В частности, для того чтобы установить курсор в позицию с определенными координатами используйте функцию GoToXY
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 27.10.2008, 17:55   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если Вы хотите чтобы матрица располагалась в нужном Вам месте экрана, используйте функцию gotoXY(x,y), которая установит курсор в нужную Вам позицию и с нее начнется вывод матрицы на экран. Позицию курсора нужно в цикле писать перед write(a[i,j]:4); Выбираете например начало матрицы в пятой строке с позиции 20.
Пишете
Код:
for i:=1 to n do
for j:=1 to n do
    begin
       gotoXY(20,i+5);
       write(a[i,j]:4);
       writeln;
    end;
Проверьте, может я что напутал.
puporev вне форума Ответить с цитированием
Старый 27.10.2008, 18:13   #4
пукарь
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 24
По умолчанию

Cпасибки ребята. Попробую, наверняка появятся вопросы.
пукарь вне форума Ответить с цитированием
Старый 27.10.2008, 18:27   #5
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Цитата:
Код:
for i:=1 to n do
for j:=1 to n do
    begin
       gotoXY(20,i+5);
       write(a[i,j]:4);
       writeln;
    end;
Проверьте, может я что напутал.
По-моему надо вызывать GotoXY не во внутреннем цикле, а во внешнем, который идет по строкам. Вот пример:
Код:
program pro41;
uses
 Crt;
var
 ar: array [1..5,1..5] of integer;
 i, j: byte;
begin
 ClrScr;
 for j:= 1 to 5 do
  for i:= 1 to 5 do
   ar[j,i]:= random(9)+1;
 for j:= 1 to 5 do
  begin
   GoToXY(5,j+1);
   for i:= 1 to 5 do
    write(ar[j,i], ' ');
  end;
 readln;
end.
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 27.10.2008, 19:06   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Полностью согласен, чуствовал, что не так, но лень проверять было. Вот вариант, как я писал(стр.5 стб.20). Еще i,j местами поменял, всегда у меня i-строка, j-столбец. И числа ввел номера ячеек, чтоб наглядно было.
Код:
program pro41;
uses
 Crt;
var
 ar: array [1..5,1..5] of integer;
 i, j: byte;
begin
 ClrScr;
 for i:= 1 to 5 do
     begin
       GoToXY(20,i+4);
       for j:= 1 to 5 do
         begin
           ar[j,i]:= 10*i+j;
           write(ar[j,i]:4);
         end;
       writeln;
     end;
 readln;
end.
puporev вне форума Ответить с цитированием
Старый 28.10.2008, 04:35   #7
пукарь
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 24
По умолчанию

Просто Гениально. А смогли бы вы использовать Graph для обозачения сетки?
пукарь вне форума Ответить с цитированием
Старый 28.10.2008, 06:31   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если рисовать таблицу в графическом режиме, то это совсем другое, там gotoxy не надо, там совсем все по другому. Вам конкретно то что нужно? Вы полностью проблему изложите.
puporev вне форума Ответить с цитированием
Старый 28.10.2008, 15:18   #9
пукарь
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 24
По умолчанию

http://upload.wikimedia.org/wikipedi..._system_3D.png
Вы могли бы раскрасить в клеточку весь массив описанный выше?

Последний раз редактировалось пукарь; 28.10.2008 в 15:33.
пукарь вне форума Ответить с цитированием
Старый 28.10.2008, 15:23   #10
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ ПРОВЕРИТЬ ЗАДАЧКУ НА ПАСКАЛЕ!Матрица,2-Х мерный массив! vdv08 Помощь студентам 6 23.09.2008 13:13
задача на паскале - Матрица,2-х мерный массив vdv08 Помощь студентам 15 22.09.2008 14:48
задача на паскале - Матрица,2-х мерный массив vdv08 Помощь студентам 1 14.09.2008 12:45