|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.05.2010, 23:00 | #11 |
Регистрация: 23.05.2010
Сообщений: 6
|
Помогите перевести с паскаля в си:
ВОТ ЗАДАНИЕ: Дан двумерный массив, заполненный нулями и единицами. Найти прямоугольник, наибольшей площади, заполненный единицами. ВОТ КОД В ПАСКАЛЕ: program example; uses crt,graph; var a:array[1..70,1..20] of byte; c,s,q,x,y,lx,ly:integer; function square(x,y,lx,ly:integer):integer; var i,j,s:integer; c:char; begin s:=0; textcolor(2); for i:=x to x+lx do for j:=y to y+ly do if a[i,j]=0 then s:=1; if s=0 then for i:=x to x+lx do for j:=y to y+ly do begin gotoxy(i,j);write(a[i,j]); end; if s=0 then square:=1 else square:=0; end; begin textcolor(15); clrscr; randomize; for y:=1 to 20 do for x:=1 to 70 do begin c:=random(40); if c=39 then a[x,y]:=0 else a[x,y]:=1; end; for y:=1 to 20 do for x:=1 to 70 do begin gotoxy(x,y);write(a[x,y]); end; s:=1400;q:=0; repeat gotoxy(40,22);write(' '); gotoxy(40,22);write(s); ly:=1; repeat lx:=1; repeat if lx*ly=s then begin y:=1; repeat x:=1; repeat q:=square(x,y,lx,ly); x:=x+1; if (x+lx>70) then x:=70; until (q=1)or(x=70); y:=y+1; if y+ly>20 then y:=20; until (q=1)or(y=20); end; lx:=lx+1; until (q=1)or(lx=70); ly:=ly+1; until (q=1)or(ly=20); s:=s-1; until (s=1)or(q=1); end. Последний раз редактировалось aggressor74; 26.05.2010 в 23:56. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа перевода из одной системы счисления в другую - Turbo Pascal 7.0. | Prescott | Помощь студентам | 5 | 19.03.2010 19:26 |
Прошу помощи в проверке моего перевода небольшого фрагмента кода от Си к делфи! | SkAndrew | Общие вопросы Delphi | 11 | 16.08.2009 16:37 |
есть ли прога? | Алёна | Софт | 11 | 15.05.2007 20:21 |