Advertisement
Guest User

Untitled

a guest
Jun 18th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ada 0.73 KB | None | 0 0
  1. PACKAGE BODY Str_Manip IS
  2.  
  3. PROCEDURE Shift_Str(Str : IN OUT String; StrLen : IN OUT Natural; Pos : IN Natural; Char : IN Character) IS
  4. BEGIN
  5.  
  6. FOR i IN Pos..(StrLen-1) LOOP
  7. Str(i) := Str(i + 1);
  8. END LOOP;
  9.  
  10. StrLen := StrLen - 1;
  11. IF Str(Pos) = Char AND Pos < StrLen THEN
  12. Shift_Str(Str => Str, StrLen => StrLen, Pos => Pos, Char => Char);
  13. END IF;
  14.  
  15. END Shift_Str;
  16.  
  17. PROCEDURE Remove_Char(Str : IN OUT String; StrLen : IN OUT Natural; Char : IN Character) IS
  18. BEGIN
  19.  
  20. FOR i IN 1..StrLen LOOP
  21.  
  22. IF i > StrLen THEN
  23. EXIT;
  24. END IF;
  25.  
  26. IF Str(i) = Char THEN
  27. Shift_Str(Str => Str, StrLen => StrLen, Pos => i, Char => Char);
  28. END IF;
  29. END LOOP;
  30.  
  31. IF Str(StrLen) = Char THEN
  32. StrLen := StrLen - 1;
  33. END IF;
  34.  
  35. END Remove_Char;
  36.  
  37. END Str_Manip;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement