In rustboro city.
in a house
rustboro
Rustboro.
its in slateport below the Pokemon contest buliding
fallourbaur town in route 114 there is a house
he isn't in ruby/sapphire/emerald
it is at rustboro inside cutters house
You can get it for free in the trick house
In fallarbor town its a house.
next to the berry masters house
At littleroot town its the left or right house.
once u complete sapphire go to the house on route 114 go in the tunnel and look around Actually you can't get Ditto in Sapphire. You have to trade from Pokemon Emerald/LeafGreen/FireRed