Προς το περιεχόμενο

pascal σε c


grigfor

Προτεινόμενες αναρτήσεις

Δημοσ.

πως θα μετατρέψω αυτό το πρόγραμμα σε c... ??δυσκολεύομαι πάρα πολύ...

 

 

Program Parallhlh_ta3inomhsh;

 

 

 

Const

 

depth_tree=3;

 

number_leaves=8; (*number_leaves=2^depth_tree*)

 

number_forks=number_leaves-1;

 

number_processes=number_forks+number_leaves;

 

number_channels=number_processes;

 

root=0;

 

first_fork=root;

 

first_leaf=first_fork+number_forks;

 

true=-1;false=-99;

 

 

 

type

 

chan=channel of integer;

 

pin=array[0..number_channels+1] of chan;

 

 

 

var

 

up,down:pin;

 

i:integer;

 

 

 

Όπως είπαμε και παραπάνω η διεργασία αυτή εισάγει την εικονική ρίζα.

 

Procedure driver_in(var up,down:chan);

 

var

 

i,number:integer;

 

begin

 

for i:=0 to number_leaves-1 do

 

begin

 

writeln('dwse ton arithmo');

 

readln(number);

 

up:=true;

 

up:=number;

 

end;

 

up:=false;

 

end;

 

Η διεργασία εμφάνισης των αποτελεσμάτων.

 

Procedure driver_out(var down:chan);

 

var

 

number,temp:integer;

 

begin

 

for i:=0 to number_leaves-1 do

 

begin

 

if down? then

 

temp:=down;

 

if down? then

 

number:=down;

 

writeln(number:3,' ');

 

end;

 

end;

 

Η διεργασία διανομής των αριθμών μέσα στο δέντρο.

 

 

 

Procedure a_fork_distribute(var up,left_up,right_up:chan);

 

const

 

leftward=0;rightward=1;

 

var

 

more,inclination,number:integer;

 

 

 

begin

 

inclination:=leftward;

 

more:=up;

 

while more=true do

 

begin

 

number:=up;

 

if inclination=leftward then

 

begin

 

left_up:=true;

 

left_up:=number;

 

inclination:=rightward;

 

end

 

else if inclination=rightward then

 

begin

 

right_up:=true;

 

right_up:=number;

 

inclination:=leftward;

 

end;

 

more:=up;

 

end;

 

left_up:=false;

 

right_up:=false;

 

end;

 

 

 

ΕΥΧΑΡΙΣΤΏ

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...