![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.04.2008
Сообщений: 57
|
![]()
определить количесто облостей состоящих хз 1 в N*N тз 0 и 1
облость считается одной если 1 имеет соседа по горизонтали или вертикали Пример: 5 5 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0 0 Ответ:5 по сути код есть но он очень грамоздкий возможно кто знает алгоритм лучше моего? uses crt; var a: array [0..50,1..50] of longint; i,j,k,n,t,Nach,Kon,l,k2:longint;g,E rror,f,Er:boolean; begin clrscr; write('Vvedite razmer n='); read(n);writeln; randomize; for i:=1 to n do begin writeln; for j:=1 to n do begin a[i,j]:=random(2); write(a[i,j],' '); end; end; k:=0; for i:=1 to n do begin j:=1; while j<=n do begin Er:=false; while (a[i,j]<>1)and(j<=n)do j:=j+1; Nach:=j; while (a[i,j]=1)and(j<=n) do begin j:=j+1;Er:=true; end; Kon:=j-1; g:=true; for l:=nach to kon do if a[i-1,l]=1 then g:=false; if (g=true)and(Er=true) then k:=k+1; end; end;k2:=k; for i:=1 to n do begin j:=1; while j<=n do begin while (a[i,j]=0)and(j<=n) do j:=j+1; while (a[i,j]=1)and(j<=n) do j:=j+1; Nach:=j-1; Er:=false; Kon:=j-1; while (a[i+1,Kon]=1)and(Kon<=n) do begin Er:=true; Kon:=Kon+1; end;Kon:=kon-1; Error:=false; if a[i+1,j-1]=1 then if Er=true then for l:=Nach to Kon do if (a[i,l]=1) and (l>Nach) and (l<=n) then Error:=true; if Error=true then k:=k-1; end; end; writeln(' K=',k); readkey; end.
Программированине-это не очередная пара, а искуство показать себя!!!
|
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 10.04.2008
Сообщений: 43
|
![]()
нУ программа рабочая, и особо лишнего убрать то нечего все по делу написано, просто если что отформатируй текст и нормально смотреться будет
![]() ![]() |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 04.04.2007
Сообщений: 131
|
![]()
Если правильно понял задачку то так:
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двумерные маcсивы(дороботка). | xxxPascalxxx | Общие вопросы Delphi | 2 | 27.12.2007 21:41 |
Двумерные маcсивы(дороботка). | Hostlman | Помощь студентам | 2 | 26.12.2007 19:46 |