Работа с CRT

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Работа с CRT

Сообщение kot003 » 01.03.2010 21:19:36

Доброе время суток!
Учусь в университете, так получилось, что задали задание по работе с оконным интерфейсом в FreePascal, а у меня нету никаких навыков в этом. (препод любит когда мы сами начинаем учиться)
Прошу помочь.
В задании необходимо расположить данные в окне output в соответствии с картинкой
Изображение

Саму программу по заданию я уже написал без проблем, осталось расставить операторы window и тому подобные, но я не могу четко понять как это делается. Что не пытался - окна расползаются.

Если кто-то возьмется помочь, вот текст программы:

Код: Выделить всё
program matrix;
{ В заданной матрице из положительных целых чисел поменять местами побочную диагональ со строкой, содержащей максимальный элемент матрицы.}
const R=5;
type Tind=1..R;
     Tmas = array[Tind,Tind] of integer;
var k,i,j,z:Tind;
    a:Tmas;
    t,m:Integer;
Begin
     {$R+}
     write('Введите размерность матрицы: '); ReadLn(k);
     if k<1 then begin writeln('Размерность введена неверно!'); halt(1);
                 end;
     writeln('Введите матрицу построчно: ');
     for i:=1 to k
     do begin for j:=1 to k
              do begin read(a[i,j]);
                       if a[i,j]<=0
                       then begin writeln('Введен отрицательный элемент!'); halt(2);
                              end;
                 end;
        end;
     m:=a[1,1];
     for i:=1 to k
     do for j:=1 to k
        do if a[i,j]<=m then z:=i;
     for i:=1 to k
     do begin t:=a[i,z];
              a[i,z]:=a[i,i];
              a[i,i]:=t;
        end;
     writeln('Матрица после перестановки ');
     for i:=1 to k
     do begin for j:=1 to k
              do write(a[i,j]:2);
                 writeln;
        end;
End.
kot003
незнакомец
 
Сообщения: 1
Зарегистрирован: 01.03.2010 21:11:21

Re: Работа с CRT

Сообщение Vadim » 02.03.2010 06:19:04

Гм... Из слова "расползаются" невозможно понять, в чём именно у Вас проблемы. ;)
Процедура Window(X1, Y1, X2, Y2) задаёт координаты окна в экранных координатах. После неё весь вывод Write\WriteLn идёт именно в это заданное окно. Одновременно может работать только одно окно.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 17

Рейтинг@Mail.ru