You have a line while(fin>>values) temp.push_back(values); which pushes all the numbers into a single vector. Then you have a for loop that pushes the same vector a bunch of times.
What you need is to have nested for loops.
1 2 3 4 5 6 7 8 9 10
for(int i = 0; i < height; i++) {
vector<int> temp;//an actually temporary variable.
//you could declare it outside the loop and call .clear() here instead.
for(int j = 0; j < width; j++) {
int val;
fin >> val;
temp.push_back(val);
}
vec.push_back(temp);
}