You need to quote your variable expansion to prevent arbitrary runs of whitespace from being treated as a single word separator.
$ pseed=" 0 0 0 45 46 78 99100"
$ echo x${pseed:3:6}x
x 0 0x
$ echo "x${pseed:3:6}x"
x 0 0x
A bash
extension to the read
built-in command makes it a little easier to extract fixed-width fields from a string:
arr=()
while read -n 3 num; do # -n 3: read 3 characters at a time
arr+=($num)
done <<< "$pseed" # Quote to preserve whitespace