Lécci, Lécci tanícsatok meg programozni
  • Aquli
    #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.