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...
is this is a hastable ?
Started by safyras, May 22 2010 12:58 AM
1 reply to this topic
#1
Posted 22 May 2010 - 12:58 AM
|
|
|
#2
Posted 22 May 2010 - 01:22 AM
i really need help


Sign In
Create Account


Back to top









