while (a < b) {
cout << ...
b++;
}
И вроде условие должно быть (a > b), но это не точно. #include <iostream>
#include <string>
using namespace std;
string vertical(const unsigned a, const char b) {
auto s = b + "\n"s;
string ss;
for (auto i = 0; i < a; ++i) ss.append(s);
return ss;
}
int main() {
system("chcp 1251 > nul");
cout << "Введите количество символов: ";
unsigned a;
cin >> a;
cin.ignore(0x1000, '\n');
cout << "Введите символ: ";
char b;
b = cin.get();
puts("Введите тип строки");
puts("1. Горизонтальный");
puts("2. Веритикальный");
char c;
cin >> c;
string s;
bool good = true;
switch (c) {
case '1':
s.assign(a, b);
break;
case '2':
s = vertical(a, b);
break;
default:
good = !good;
puts("Что-то пошло не так!");
}
if (good) cout << s;
system("pause > nul");
}