A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
inf-prog-fszi:fej_vagy_iras [2017/06/19 09:47] beistvan létrehozva |
inf-prog-fszi:fej_vagy_iras [2017/06/19 09:47] (aktuális) beistvan létrehozva |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | ====== Fej vagy írás ====== | ||
+ | |||
+ | Megoldás fő adattároló tömb használata nélkül, ahogy az eredeti feladat kéri. | ||
+ | |||
+ | <code pascal fejvagyiras_tomb_nelkul.pas> | ||
+ | program fejvagyiras_tomb_nelkul; | ||
+ | const m=1000; | ||
+ | var | ||
+ | egymasutan, | ||
+ | maxindex, | ||
+ | i, | ||
+ | a:array [1..4*m] of char; | ||
+ | tipp, | ||
+ | relativ: real; | ||
+ | f:text; | ||
+ | begin | ||
+ | randomize; | ||
+ | writeln(' | ||
+ | dobas: | ||
+ | if dobas=1 then | ||
+ | begin | ||
+ | egydobas: | ||
+ | writeln(egydobas) | ||
+ | end | ||
+ | else | ||
+ | begin | ||
+ | egydobas: | ||
+ | writeln(egydobas); | ||
+ | end; | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | dobott: | ||
+ | writeln(' | ||
+ | if upcase(tipp)=dobott then | ||
+ | writeln(' | ||
+ | else | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | Assign(f,' | ||
+ | reset(f); | ||
+ | i:=0; | ||
+ | while not eof(f) do | ||
+ | begin | ||
+ | inc(i); | ||
+ | readln(f, | ||
+ | end; | ||
+ | n:=i; | ||
+ | writeln(n,' | ||
+ | writeln(' | ||
+ | fej:=0; | ||
+ | reset(f); | ||
+ | while not eof(f) do | ||
+ | begin | ||
+ | readln(f, | ||
+ | if tipp=' | ||
+ | end; | ||
+ | relativ: | ||
+ | |||
+ | writeln(' | ||
+ | writeln(' | ||
+ | egymasutan: | ||
+ | reset(f); | ||
+ | readln(f, | ||
+ | readln(f, | ||
+ | readln(f, | ||
+ | readln(f, | ||
+ | if (d1=' | ||
+ | //i:=1; | ||
+ | //if ((T[i]=' | ||
+ | for i:=1 to n-3 do | ||
+ | begin | ||
+ | d1:=d2; d2:=d3; d3:=d4; readln(f, | ||
+ | if (d1=' | ||
+ | inc(egymasutan); | ||
+ | end; | ||
+ | //i:=n-2; | ||
+ | if (d2=' | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | max:=0; | ||
+ | maxindex: | ||
+ | reset(f); | ||
+ | i:=0; | ||
+ | while not eof(f) do | ||
+ | begin | ||
+ | readln(f, | ||
+ | i:=i+1; | ||
+ | if tipp = ' | ||
+ | begin | ||
+ | db:=1; | ||
+ | readln(f, | ||
+ | while not eof(f) and (tipp=' | ||
+ | begin | ||
+ | inc(db); | ||
+ | readln(f, | ||
+ | end; | ||
+ | if db>max then | ||
+ | begin | ||
+ | max:=db; | ||
+ | maxindex: | ||
+ | end; | ||
+ | i:=i+db; | ||
+ | end; | ||
+ | end; | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | for i:=1 to 4*m do | ||
+ | begin | ||
+ | if random(2)+1 > 1 | ||
+ | then | ||
+ | a[i]: | ||
+ | else | ||
+ | a[i]: | ||
+ | write(a[i]); | ||
+ | if i mod 4 = 0 then write(' | ||
+ | end; | ||
+ | |||
+ | //4*i+1 i=0..m-1 | ||
+ | ffff:=0; | ||
+ | fffi:=0; | ||
+ | for i:=0 to m-1 do | ||
+ | begin | ||
+ | j:=4*i+1; | ||
+ | if ((a[j]=' | ||
+ | inc(ffff); | ||
+ | if ((a[j]=' | ||
+ | inc(fffi); | ||
+ | end; | ||
+ | writeln; | ||
+ | writeln(' | ||
+ | readln; | ||
+ | end. | ||
+ | |||
+ | </ | ||
+ | |||
+ | Megoldás tömbök használatával. | ||
+ | |||
+ | <code pascal fejvagyiras.pas> | ||
+ | program fejvagyiras; | ||
+ | const m=1000; | ||
+ | var | ||
+ | egymasutan, | ||
+ | maxindex, | ||
+ | i, | ||
+ | T:array [1..5000] of char; | ||
+ | a:array [1..4*m] of char; | ||
+ | tipp, | ||
+ | relativ: real; | ||
+ | f:text; | ||
+ | begin | ||
+ | randomize; | ||
+ | writeln(' | ||
+ | dobas: | ||
+ | if dobas=1 then | ||
+ | begin | ||
+ | egydobas: | ||
+ | writeln(egydobas) | ||
+ | end | ||
+ | else | ||
+ | if dobas=2 then | ||
+ | begin | ||
+ | egydobas: | ||
+ | writeln(egydobas); | ||
+ | end; | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | dobott: | ||
+ | writeln(' | ||
+ | if tipp=dobott then writeln(' | ||
+ | writeln(' | ||
+ | Assign(f,' | ||
+ | reset(f); | ||
+ | i:=0; | ||
+ | while not eof(f) do | ||
+ | begin | ||
+ | inc(i); | ||
+ | readln(f, | ||
+ | end; | ||
+ | n:=i; | ||
+ | writeln(n,' | ||
+ | writeln(' | ||
+ | for i:=1 to n do | ||
+ | if T[i]=' | ||
+ | |||
+ | relativ: | ||
+ | |||
+ | writeln(' | ||
+ | writeln(' | ||
+ | i:=1; | ||
+ | if ((T[i]=' | ||
+ | for i:=1 to n-3 do | ||
+ | if ((T[i]=' | ||
+ | inc(egymasutan); | ||
+ | i:=n-2; | ||
+ | if ((T[i]=' | ||
+ | |||
+ | writeln(' | ||
+ | writeln(' | ||
+ | max:=0; | ||
+ | maxindex: | ||
+ | //n:=50; | ||
+ | for i:=1 to n-1 do | ||
+ | begin | ||
+ | if T[i] = ' | ||
+ | begin | ||
+ | db:=1; | ||
+ | j:=i+1; | ||
+ | while (j<=n) and (T[j]=' | ||
+ | begin | ||
+ | inc(db); | ||
+ | inc(j); | ||
+ | end; | ||
+ | if db>max then | ||
+ | begin | ||
+ | max:=db; | ||
+ | maxindex: | ||
+ | end; | ||
+ | end; | ||
+ | end; | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | for i:=1 to 4*m do | ||
+ | begin | ||
+ | if random > 0.5 | ||
+ | then | ||
+ | a[i]: | ||
+ | else | ||
+ | a[i]: | ||
+ | | ||
+ | if i mod 4 = 0 then write(' | ||
+ | end; | ||
+ | |||
+ | //4*i+1 i=0..m-1 | ||
+ | for i:=0 to m-1 do | ||
+ | begin | ||
+ | j:=4*i+1; | ||
+ | if ((a[j]=' | ||
+ | inc(ffff); | ||
+ | if ((a[j]=' | ||
+ | inc(fffi); | ||
+ | end; | ||
+ | writeln; | ||
+ | writeln(' | ||
+ | readln; | ||
+ | end. | ||
+ | </ | ||
+ | |||