store sensor values into an array

the blind

please, "the user" is less discriminatory, I know people with walking around with cell phones that are less situationally aware then Helen Keller. Maybe they could use your device too.

your code:
You need to consider how you are going to read back the data and what it needs to look like in order for your "replay" function to parse/understand it. If you write sensor and switch data in sequentially different spots in eeprom this might confuse as to what type of data it is.
Also consider how fast this data can be written because this will affect your length and "resolution" of playback. You will likely get a much finer resolution then you desire. So you will have to make rule about when to sample the data, which you are kinda doing with the switch.

Third and most importantly, this sounds like a run time operation, unless the user needs recount their steps after they have turned off and on the device, you don't need eeprom. In which case its back to storing this in an array. This is better considering your sensor value will be over 400. 400 wont fit in the byte you address in eeprom it can only store up to 255.
I suggest estimating the greatest length of playback(in recording steps) this will help whether you need persistence(eeprom) or not. This way you can pre-define the size of the data structure and be sure the recording fits where you want to put it.