program cry;
uses crt;
type matx= array[1..8,1..8] of char ;
var a,b,c,p:integer;
m:matx;
tb:array[1..2,1..8] of string;
td:array[1..2,1..8] of integer;
function rand(const avalues: Array of char): Char;
begin
result := avalues[random(high(avalues) + 1)];
end;
procedure remp(var t:matx); //0 or 1
var i,j:integer;
begin
for i:= 1 to 8 do
for j:=1 to 8 do
t[i,j]:=rand(['0','1']) ;
end;
procedure mark(var t:matx);
var i,r:integer;
begin
for i:=1 to 8 do
begin
r:=random(8);
if r=0 then r:=2;
t[i,r]:='#';
end;
end;
function position(t:matx;l:byte):integer;
var i:integer;
begin
result :=0;
for i:=1 to 8 do
if t[l,i]='#' then result :=i;
end;
function bin2dex(s:string) :integer;
var i,r,p:integer;
function puis(y:integer):integer;
var k:integer;
begin
puis:=1;
for k:=1 to y do
puis:=puis*2
end;
begin
r:=0;
i:=0;
while i<= length(s)do
begin
p:=length(s)-i;
if s[p]='1' then r:=r+puis(i);
i:=i+1;
end;
result:=r;
end;
begin remp(m);mark(m);
for a:=1 to 8 do
begin
p:=position(m,a);
for b:=1 to p-1 do
tb[1,a]:=tb[1,a]+m[a,b];
for c:=p+1 to 8 do
tb[2,a]:=tb[2,a]+m[a,c];
end;
for a:=1 to 8 do
td[1,a]:= bin2dex(tb[1,a]);
for a:=1 to 8 do
td[2,a]:= bin2dex(tb[2,a]);
for a:=1 to 8 do
for b:=1 to 8 do
begin
gotoxy(b*5,a*3);
write(m[a,b]);
end;
writeln;
writeln('le conv en binair ----------');
for a:=1 to 8 do
begin writeln;
write('line',a);
for b:=1 to 2 do
write(td[b,a]:5);
end;
readln;readln;
end.
بالتوفيق
حاولت تجريب البرنامج ولكن الباسكال لم يشتغل عندي
قرات برنامجك ولم افهمه جيدا
خاصةو بعض الكلمات وشكرا
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية