Отримання знань
дистанційна підтримка освіти школярів
Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.
Михальов Володимир (StarRover) 2014-08-10 20:33:17
1. Напишіть (власне, "зберіть") остаточний алгоритм, використовуючи функцію РОЗФАРБОВКА. 2. Напишіть за готовим алгоритмом програму будь-якою відомою Вам мовою програмування. ------------------------------------------------- {Coloring} const max=10; var m,n,k,i,j:longint; a:array[1..max,1..max] of byte; f1,f2:text; procedure Strike(ii,jj:longint); begin a[ii,jj]:=2; if ii if ii>1 then if a[ii-1,jj]=1 then Strike(ii-1,jj); if jj if jj>1 then if a[ii,jj-1]=1 then Strike(ii,jj-1); end; procedure Coloring; begin k:=0; for i:=1 to m do for j:=1 to n do if a[i,j]=1 then begin k:=k+1; Strike(i,j); end; end; begin Assign(f1,'input.txt'); Assign(f2,'output.txt'); Reset(f1); Rewrite(f2); Read(f1,m,n); for i:=1 to m do for j:=1 to n do Read(f1,a[i,j]); Coloring; Write(f2,k); Close(f1); Close(f2); end. ================================================================================== 3. Придумайте 5-10 тестових прикладів до вашого розв'язку та протестуйте програму. 1) input.txt 7 10 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 output.txt 6 2) input.txt 8 10 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 output.txt 7 3) input.txt 8 10 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 output.txt 8 4) input.txt 3 10 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 output.txt 4 5) input.txt 2 10 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 output.txt 3 6) input.txt 1 1 0 output.txt 0 7) input.txt 3 3 1 0 1 0 1 0 1 0 1 output.txt 5 |
Михальов Володимир (StarRover) 2014-08-10 22:50:51
Задача про Ханойські вежі Є три стержні з іменами А, В, С. На стержень А надіто N дисків різного діаметру так, що вони утворюють піраміду. Написати програму для друку (виведення на екран) послідовності переміщення дисків з стержня на стержень, необхідних для перенесення піраміди з стержня А на стержень С використовуючи стержень В як допоміжний. При цьому за одне переміщення можна переносити тільки один диск, і диск більшого діаметра не можна розміщувати зверху на диск меншого діаметра. ------------------- {Hanoy} var n:longint; procedure Hanoy(z,r,p:char;m:longint); begin if m=1 then WriteLn(z,'=>',r) else begin Hanoy(z,p,r,m-1); WriteLn(z,'=>',r); Hanoy(p,r,z,m-1); end; end; begin Write('n=?'); Read(n); Hanoy('A','C','B',n); end. |
Михальов Володимир (StarRover) 2014-08-19 16:41:51
Задача Вінницькі вежі. ----------------------------------- {VinTower} const max=100; var i,n,b,w,k:longint; ch,f:char; a:array[1..max] of char; f1,f2:text; procedure Hanoy(z,p,r:char;m:longint); begin if (m=1) then WriteLn(f2,z,'=>',r) else begin Hanoy(z,r,p,m-1); WriteLn(f2,z,'=>',r); Hanoy(p,z,r,m-1); end; end; Procedure Vin; begin if f='w' then if k Hanoy('1','2','3',w); end else Hanoy('1','2','3',w); if f='b' then if k Hanoy('4','2','1',b-k); Hanoy('1','2','4',b); end else Hanoy('1','2','4',b); end; begin Assign(f1,'input.txt'); Assign(f2,'output.txt'); Reset(f1); Rewrite(f2); ReadLn(f1,n); for i:=1 to n do Read(f1,a[i]); for i:=1 to n do Write(f2,a[i]); WriteLn(f2); b:=0; w:=0; k:=0; for i:=1 to n do begin if i=1 then f:=a[i] else f:=a[i-1]; if a[i]='b' then b:=b+1 else w:=w+1; if (f<>a[i]) then begin Vin; k:=1; end else k:=k+1; end; f:=a[i]; Vin; Close(f1); Close(f2); end. |
Thukk (thiefcrazy98) 2024-10-30 15:12:02
arizona child abuse statistics |
В системі:
гості - (1); користувачі -
(0)