task 4.6
unknown
c_cpp
3 years ago
1.6 kB
9
Indexable
#include <iostream>
using namespace std;
void printChar(char ch, int number) {
for (int i = 0; i < number; ++i) {
cout << ch;
}
}
int main() {
const int rowsNum = 5; // общее количество строк
// Общее кол-во столбцов можно бы и задать тупо цифрой, но можно и вычислить:
// нижняя строка состоит целиком из единиц, верхняя - целиком из нулей; каждая последущая строка имеет по две новых единицы -
// поэтому два умножаем на количество строк, в которых есть единицы (это четыре строки из пяти).
const int columnsNum = 2 * (rowsNum - 1);
for (int i = 0; i < rowsNum; ++i) { // перебираем номера строк сверху вниз
// выводим i-ю строку
int charNumber = i*2; // столько раз на этой строке будет фигурировать единичка
int zeroNumber = columnsNum - charNumber; // а столько получается нулей
printChar('0', zeroNumber); // выводим сразу нужное количество нулей
printChar('1', charNumber); // дописываем справа нужное количество единиц
cout << endl; // переносим строку
}
return 0;
}
Editor is loading...