Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++, программирование , компьютеры

Никита Карид Ученик (97), открыт 1 неделю назад
Почему в последней части кода со свичем, он бесконечно выдает символы, я же поставил там циклы вайл, составил неравенсто, и прибавляю к b +1, подскажите пожа
3 ответа
Арсений Ефанов Мастер (1001) 1 неделю назад
На пайтоне есть такая функция:
for i in range
Что если попробовать аналогичное только на С++?
ротовирус Ученик (95) 1 неделю назад
Так прибавление b++ у тебя идет уже после бесконечного цикла, частью которого является только std::cout. Тебе нужно скобки поставить у while.
 while (a < b) {
cout << ...
b++;
}
И вроде условие должно быть (a > b), но это не точно.
Николай Веселуха Высший разум (368733) 1 неделю назад
 #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");
}
Похожие вопросы