Я действительно не знаю, как сделать его более кратким, чем это:
#include <iostream>
#include <sstream>
int main()
{
std::stringstream ss;
int i = 10;
while (i--)
std::cout << (ss<<'*', ss).str() << std::endl;
}
или что касается петли, вырезающей линию
for(int i=10; i--;)
std::cout << (ss<<'*', ss).str() << std::endl;
Если вы не возражаете против менее эффективного кода:
#include <iostream>
int main() { for(int i=1; i<10; std::cout << std::string(i++, '*') << std::endl); }