Felhasználói eszközök

Eszközök a webhelyen


inf-prog-fszi:szin-kep

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

inf-prog-fszi:szin-kep [2017/06/19 10:27]
beistvan létrehozva
inf-prog-fszi:szin-kep [2017/06/19 10:27] (aktuális)
beistvan létrehozva
Sor 1: Sor 1:
 +====== Szín-kép ======
  
 +<code pascal szinkep.pas>
 +program szinkep;   {2012. okt.}
 +const szinek:array[1..3] of string=('voros','zold','kek');
 +type szintipus=record
 +     r,g,b:byte;
 +     end;
 +var i,j,k,n,sdb,odb,max:integer;
 +    balsor, baloszlop, jobbsor, jobboszlop:integer;
 +    a:array[1..50,1..50] of szintipus;
 +    egyszin:szintipus;
 +    van:boolean;
 +    maxszin:array[1..3] of word;
 +    f:text;
 +begin
 +  writeln('1. feladat');
 +  Assign(f,'kep.txt');
 +  reset(f);
 +  k:=0;
 +  i:=0;
 +  j:=0;
 +  while not eof(f) do
 +  begin
 +    inc(k);
 +    if k mod 50=1 then
 +    begin
 +      inc(i);
 +      j:=1;
 +    end;
 +    readln(f,a[i,j].r,a[i,j].g,a[i,j].b);
 +    inc(j);
 +  end;
 +  close(f);
 +  n:=k;
 +  {Assign(f,'kep_el.txt');
 +  rewrite(f);
 +  for i:=1 to 50 do
 +    for j:=1 to 50 do
 +      writeln(f,i,' ',j,' ',a[i,j].r,' ',a[i,j].g,' ',a[i,j].b);
 +  close(f);}
 +  writeln(n,' sor beolvasva a "kep.txt"-bol.');
 +  writeln('2. feladat');
 +  write('r: ');readln(egyszin.r);
 +  write('g: ');readln(egyszin.g);
 +  write('b: ');readln(egyszin.b);
 +  van:=false;
 +  for i:=1 to 50 do
 +    for j:=1 to 50 do
 +      if (a[i,j].r=egyszin.r)and(a[i,j].g=egyszin.g)and(a[i,j].b=egyszin.b)
 +        then begin van:=true; break; end;
 +  if van then writeln('van') else writeln('nincs');
 +  writeln('3. feladat');
 +  egyszin:=a[35,8];
 +  //writeln(egyszin.r,' ',egyszin.g,' ',egyszin.b);
 +  odb:=0;
 +  sdb:=0;
 +  for k:=1 to 50 do
 +  begin
 +    if (a[k,8].r=egyszin.r)and(a[k,8].g=egyszin.g)and(a[k,8].b=egyszin.b)
 +      then inc(odb);
 +    if (a[35,k].r=egyszin.r)and(a[35,k].g=egyszin.g)and(a[35,k].b=egyszin.b)
 +      then inc(sdb);
 +  end;
 +  writeln('sor: ',sdb,' oszlop: ',odb);
 +  writeln('4. feladat');
 +  for i:=1 to 50 do
 +    for j:=1 to 50 do
 +    begin
 +      if (a[i,j].r=255) and (a[i,j].g=0)and (a[i,j].b=0) then inc(maxszin[1]);
 +      if (a[i,j].r=0) and (a[i,j].g=255)and (a[i,j].b=0) then inc(maxszin[2]);
 +      if (a[i,j].r=0) and (a[i,j].g=0)and (a[i,j].b=255) then inc(maxszin[3]);
 +    end;
 +  max:=maxszin[1];
 +  for i:=1 to 3 do
 +    if maxszin[i]>max then max:=maxszin[i];
 +  writeln('legtobbszor elofordulo szin a ');
 +  for i:=1 to 3 do
 +    if maxszin[i]=max then write(szinek[i]);
 +  writeln;
 +  {writeln('maxszin tomb: ');
 +  for i:=1 to 3 do
 +    write(maxszin[i],' ');}
 +  writeln('5. feladat');
 +  for i:=1 to 50 do
 +    for k:=0 to 2 do
 +    begin
 +      a[1+k,i].r:=0; a[1+k,i].g:=0; a[1+k,i].b:=0; //elso sor
 +      a[50-k,i].r:=0; a[50-k,i].g:=0; a[50-k,i].b:=0; //utolso sor
 +      a[i,1+k].r:=0; a[i,1+k].g:=0; a[i,1+k].b:=0; //elso oszlop
 +      a[i,50-k].r:=0; a[i,50-k].g:=0; a[i,50-k].b:=0; //utolso oszlop
 +    end;
 +  writeln('Keret elkeszitve');
 +  writeln('6. feladat');
 +  Assign(f,'keretes.txt');
 +  rewrite(f);
 +  for i:=1 to 50 do
 +    for j:=1 to 50 do
 +      writeln(f,a[i,j].r,' ',a[i,j].g,' ',a[i,j].b);
 +  close(f);                                       
 +  writeln('adatok kiirva a "keretes.txt" faljba');
 +  writeln('7. feladat');
 +  balsor:=0; baloszlop:=0; jobbsor:=0; jobboszlop:=0;
 +  for i:=1 to 50 do
 +    for j:=1 to 50 do begin
 +      if (a[i,j].r=255) and (a[i,j].g=255) and (a[i,j].b=0) then
 +      begin
 +      //write(i:4,j:4);readln;
 +        balsor:=i; baloszlop:=j;
 +        van:=true;
 +      end;
 +      if van then break;
 +    end;
 +  writeln('Kezd: ',balsor,' ',baloszlop);
 +  for j:=baloszlop to 50 do
 +    if (a[balsor,j].r<>255)and(a[balsor,j].g<>255)and(a[balsor,j].b<>0) then
 +       break;
 +  jobboszlop:=j-1;
 +  for i:=balsor to 50 do
 +    if (a[i,jobboszlop].r<>255)and(a[i,jobboszlop].g<>255)and(a[i,jobboszlop].b<>0) then
 +       break;
 +  jobbsor:=i-1;
 +  writeln('Vege: ',jobbsor,' ',jobboszlop);
 +  writeln('Keppontok szama: ',(jobbsor-balsor+1)*(jobboszlop-baloszlop+1));
 +  readln;
 +end.
 +</code>
inf-prog-fszi/szin-kep.txt · Utolsó módosítás: 2017/06/19 10:27 szerkesztette: beistvan