Вы почти там:
cout << endl << "Rows : " << rows;
Ошибка в том, что "Rows : "
является строковым литералом, следовательно, является константой и, вообще говоря, не изменяется, как вы думаете.
Пойдя немного дальше, вы, вероятно, использовали +
(в разговорной речи используется как операция конкатенации), предполагая, что вам нужно построить строку для выдачи выходному потоку.Вместо этого operator <<
возвращает выходной поток, когда это сделано, что позволяет создавать цепочки.
// It is almost as if you did:
(((cout << endl) << "Rows : ") << rows)