Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Провертьте мое задание


Страницы:   1 2

Вован Сем ©   (2006-07-11 16:44:00) 

Нужна с одного символа получить строку, которая все время растет в длину. Лаб. работа на курсах. Но не всегда правильно работает.


uses
 crt;

const
 min=255;

var
 buf:array[1..24,1..80,1..2] of byte absolute $B800:0000;
 chs:array[1..24,1..80,1..2] of char absolute buf;
 cmd,par,r_s:string;
 len:byte absolute r_s;
 b_a:array[0..min] of byte absolute r_s;
 c_c:byte;

procedure test;
begin
{...}
end;

begin
 fillchar(b_a,sizeof(b_a),0);
 clrscr;
 if paramcount<>0 then
   r_s:=paramstr(1)
  else
   r_s:=chr(min);
 repeat
   while (b_a[1]>0) and (buf[9,71,1]<>79) do
   begin
     if not ( b_a[1] in [9,13,32,34] ) then
     begin
       clrscr;
       for c_c:=1 to len do
       begin
         buf[4,c_c,1]:=b_a[c_c];
       end;
       Test;
     end;
     if keypressed then buf[9,71,1]:=79;
     dec(b_a[1]);
   end;
   for c_c:=1 to len do
   if b_a[c_c]=0 then
   begin
     if b_a[len]=0 then
      inc(len);
     b_a[c_c]:=min;
     dec(b_a[c_c+1]);
   end;
   if keypressed then buf[9,71,1]:=79;
 until buf[9,71,1]=79;
end.


Вован Сем   (2006-07-11 17:01:00) [21]

а можно как то сократить алгоритм


Вован Сем   (2006-07-11 17:00:00) [22]

Так сказали на паскале?!


Игорь Шевченко   (2006-07-11 16:59:00) [23]


>  Провертьте мое задание


Преподаватель проверит


Сергей М.   (2006-07-11 16:51:00) [24]

Это что, ТурбоПаскаль ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо