Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,971 questions

51,913 answers

573 users

How to check if two equal-length strings are at least 50% equal in Pascal

1 Answer

0 votes
program CompareStrings;

function AtLeastHalfEqual(const s1, s2: string): boolean;
var
  i, matches, len: integer;
begin
  { Check for nil-equivalent and equal length }
  len := length(s1);
  if (len = 0) or (len <> length(s2)) then
  begin
    AtLeastHalfEqual := false;
    exit;
  end;

  matches := 0;

  for i := 1 to len do
    if s1[i] = s2[i] then
      inc(matches);

  { matches / len >= 0.5  →  2 * matches >= len }
  AtLeastHalfEqual := (matches * 2 >= len);
end;

var
  str1, str2: string;

begin
  writeln(AtLeastHalfEqual('abcde', 'axcfz')); 
    
  writeln(AtLeastHalfEqual('javascript c# c++ c python', 'javascript c# r c rust sql')); 
end.



(*
run:

FALSE
TRUE

*)

 



answered Dec 20, 2025 by avibootz
edited Dec 21, 2025 by avibootz

Related questions

...