Kezdőoldal » Számítástechnika » Programozás » Tudná valaki elemezni nekem a...

Tudná valaki elemezni nekem a programot? Melyik rész mit csinál? Kérem csak a segítő szándékú emberek szóljanak hozzá. Köszönöm a segítséget!

Figyelt kérdés

program terfogatok;

uses crt;

type Tomb=array [1..1000,1..3] of integer;


var T:Tomb;

ter,i,j,k,N,DB:integer;

f:text;


function Egyezik(i,j:integer; T:Tomb):boolean;

begin

if ( (T[i,1]=T[j,1]) and (T[i,2]=T[j,2]) and (T[i,3]=T[j,3]) ) or

( (T[i,1]=T[j,1]) and (T[i,2]=T[j,3]) and (T[i,3]=T[j,2]) ) or

( (T[i,1]=T[j,2]) and (T[i,2]=T[j,3]) and (T[i,3]=T[j,1]) ) or

( (T[i,1]=T[j,2]) and (T[i,2]=T[j,1]) and (T[i,3]=T[j,3]) ) or

( (T[i,1]=T[j,3]) and (T[i,2]=T[j,2]) and (T[i,3]=T[j,1]) ) or

( (T[i,1]=T[j,3]) and (T[i,2]=T[j,1]) and (T[i,3]=T[j,2]) ) then

Egyezik:=true

else Egyezik:=false;

end;


function NincsMasik(i:integer; T:Tomb; N:integer):boolean;

var j:integer;

begin

if i=1 then NincsMasik:=true

else

begin

j:=i-1;

while (j>0) and not Egyezik(i,j,T) do

j:=j-1;

if j=0 then NincsMasik:=true

else NincsMasik:=false;

end;

end;


begin

assign(f,'terfogatok.txt');

reset(f);

while not (eof(f)) do

begin

readln(f,ter);

N:=0;

i:=1; j:=1; k:=1;

while (i<=ter) and (i*j*k<=ter) do

begin

while (j<=ter) and (i*j*k<=ter) do

begin

while (k<=ter) and (i*j*k<=ter) do

begin

if i*j*k=ter then

begin

N:=N+1;

T[N,1]:=i;

T[N,2]:=j;

T[N,3]:=k;

end;

k:=k+1;

end;

k:=1;

j:=j+1;

end;

j:=1; k:=1;

i:=i+1;

end;

DB:=0;

for i:=1 to N do

if NincsMasik(i,T,N) then DB:=DB+1;

writeln(ter,' ',DB);

end;

readln;

close(f);

end.


2015. jan. 21. 17:20
 1/5 anonim ***** válasza:
Indulj el soronként, majd ha találsz egy ismeretlen nyelvi elemet akkor gúglizz rá.
2015. jan. 21. 17:45
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Úgy már próbáltam,nem értem mit miért
2015. jan. 21. 17:58
 3/5 anonim ***** válasza:
Mit?
2015. jan. 21. 18:13
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

A térfogatok.txt-ből bolvas térfogatokat. Ezek olyan egész számok amik egész-oldalú téglatestek térfogatait reprezentálják. A program megpróbálja kitalálni hogy a térfogat hány különbözőféle téglatestnek lehet a térfogata.


pl ha 12 a térfogat akkor lehet:

1*1*12

1*2*6

1*3*4

2*2*3


De hogy ezt megkapja ki kell szűrnie a hasonló téglatesteket, pl. a 1*3*4 és a 4*3*1 ugyan az csak más sorrendbe írtuk ki az oldalait. Erre van a "NincsMásik" függvény ami végigmegy az összes téglatesten és megnézi hogy van e olyan ami "Egyezik" a kérdéses téglatesttel.


Jobb lett volna ha mondjuk pastebin-t linklsz hogy átláthatóbb legyen. Sajnos az oldalon a white-space stílus nincs beállítva.

pastebin/HSpz3qkQ

2015. jan. 21. 18:21
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszönöm,így is sokat segítettél!
2015. jan. 24. 18:19

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!