You're thinking like a programmer, and it's usually better to put on your database hat when doing these things.
That said, many rdbm systems support some type of array (PostgreSQL certainly does) but I recommend against using them unless a relational answer just doesn't work for you or the performance difference of the array method over the relational model is great enough to justify it.
I'd have a table of users, a table of surveys, a table of answers, and then just use a many to many relationship to both show what their answers were and if they've voted.
If you want it to be anonymous, it actually gets simple, just multi join the users to the surveys in a two column table and use that to find out if they've voted.