С++
Напишите программу, которая рисует с помощью символьной графики прямоугольную рамку. Для вертикальных линий используйте символ вертикального штриха «|», а для горизонтальных — дефис «-». Пусть пользователь вводит ширину и высоту рамки.
Ответы
Программа:
С++:
#include <iostream>
using namespace std;
int main() {
int width, height, row, col;
const string vertical = "|", horizontal = "-";
cout << "Ширина рамки: "; cin >> width;
cout << "Высота рамки: "; cin >> height;
for(row = 1; row <= height; row++) {
for(col = 1; col <= width; col++) {
if(col == 1 or col == width)
cout << vertical << " ";
else if(row == 1 or row == height)
cout << horizontal << " ";
else
cout << " ";
}
cout << "\n";
}
return 0;
}
Объяснение:
В начале регистрируем переменные целочисленного типа для будущего использования: width - ширина рамки, height - высота рамки, row - строка (в цикле), col - столбец (в цикле). Далее регистрируем константы используемых знаков (штрих и дефис). Пользователь вводит ширину и высоту самой рамки (не того, что внутри).
Далее основной код вывода рамки. С помощью цикла row принимает значения от 1 до height, col принимает значения от 1 до width. Если текущая колонка равна единице или она равна width, выводим вертикальную штриховку и пробел (для красоты). Далее, если текущая строка равна единице или она равна height, выводим горизонтальный дефис и пробел (для красоты). А если эти обе проверки не выполняются, выводим два пробела - это рамка внутри. А каждую строку мы переходим на новую строчку вниз.
Результат:
Ширина рамки: 6
Высота рамки: 6
| - - - - |
| |
| |
| |
| |
| - - - - |
#SPJ1