Lécci, Lécci tanícsatok meg programozni
-
#145
Hello!
Megpróbáltam megcsinálni ezt a vírusos dolgot, de nem tudom mi a feladat, egyszerűen megjeleníteni a képernyőn a virusok fejlődését? Na mindegy, itt van: ahol 1, ott van vírus, ahol 0, ott nincs:
program virus;
uses crt;
const n=30;
type nemzetseg = array [1..n, 1..n] of integer;
var i,j : integer;
virusok,kor : nemzetseg;
function Szomszedok(tomb : nemzetseg; x,y : integer) : integer;
var szam : integer;
begin
szam:=0;
if not(x=1) then
if tomb[x-1,y]=1 then szam:=szam+1;
if not(x=n) then
if tomb[x+2,y]=1 then szam:=szam+1;
if not(y=1) then
if tomb[x,y-1]=1 then szam:=szam+1;
if not(y=n) then
if tomb[x,y+1]=1 then szam:=szam+1;
Szomszedok:=szam;
end;
BEGIN
for i:=1 to n do begin
for j:=1 to n do begin
virusok[i,j]:=1;
kor[i,j]:=0;
end;
end;
repeat
delay(500);
clrscr;
for i:=1 to n do begin
for j:=1 to n do begin
write(virusok[i,j],' ');
end;
writeln;
end;
for i:=1 to n do begin
for j:=1 to n do begin
if virusok[i,j]=1 then begin
if (szomszedok(virusok,i,j)<2)
or (szomszedok(virusok,i,j)>3) then begin
virusok[i,j]:=0; kor[i,j]:=0;
end;
if kor[i,j]>2 then begin
virusok[i,j]:=0; kor[i,j]:=0;
end;
kor[i,j]:=kor[i,j]+1;
end;
if virusok[i,j]=0 then begin
if (szomszedok(virusok,i,j)=2)
or (szomszedok(virusok,i,j)=3) then begin
virusok[i,j]:=1;
end;
end;
end;
end;
until keypressed;
end.
De lehet hogy nem ez a feladat.