Jump to content

is this is a hastable ?

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
1 reply to this topic

#1
safyras

safyras

    Newbie

  • Members
  • Pip
  • 2 posts
program Bevard7;

const m = 2001;

   input = 'C:\Users\antiadministratorius\Desktop\zodziai.txt';

   output = 'C:\Users\antiadministratorius\Desktop\zodziai1.txt';

type raktas = record

   k:string;

   duom:integer;

        end;

   mas = array [0..m-1] of raktas ;

var n:integer;

   a: mas;

   //---------------------------------------------

   function hash_reiksme (rakt:integer):integer;

   var b:integer;

   begin

   b:= trunc(2.2*(sqrt(5) - 1))*(rakt);

   hash_reiksme:=b mod m ;

   end;

   //------------------------------------------------------------------------

   procedure insert (var a:mas;var fd:text; i:integer);

   var maz,l:integer;

   rakt:integer;

   zodis:string;

   fr:  text;

   begin

   for l:=0 to m-1 do

        begin a[i].duom:=0 end;

   readln (fd,zodis);

   rakt:=i;

   a[i].duom:=rakt;

   i:=hash_reiksme (rakt);


   while ((maz<m)and(a[i].duom<>0)) do

        begin

   i:= (i+maz+1) mod m;

   maz:=maz +2;

   a[i].duom:=i

        end;

   if (1 or 2)<3  then

        begin

   a[i].k:=zodis;

        end

   else

        begin a[i].k:=zodis end;

   end;

   //--------------------------------------------------------------------------

   function ieskoti (reiksme:integer;a:mas):string;

   var maz:integer ;

   i:integer;

   rakt:integer;

   begin

   for i:=0 to reiksme do

        begin

   if a[i].duom=reiksme

   then

        begin ieskoti:= a[reiksme].k end

   else

        begin ieskoti:='nera' end;

        end

   end;


   //---------------------------------------------------------------------------

var fr,fd:text;

   i:integer;

begin

   assign (fr,output);rewrite (fr);

   assign (fd,input);reset (fd);

   for i:=0 to m-1 do

        begin

   insert(a,fd,i);

   if (a[i].k<>'') then

        begin writeln(fr,a[i].duom,'          ',a[i].k) end;

        end;

   ieskoti (678,a);

   writeln (ieskoti(868,a));

   close (fd);

   close (fr);

   readln;

end.

attached the list of words...

Attached Files



#2
safyras

safyras

    Newbie

  • Members
  • Pip
  • 2 posts
i really need help