
С++ Напишите программу, которая рисует с помощью символьной графики прямоугольную рамку. Для
вертикальных линий используйте символ вертикального штриха «|», а для горизонтальных — дефис «-». Пусть пользователь вводит ширину и высоту рамки.

Ответы на вопрос

Программа:
С++:
#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




Конечно! Вот пример программы на C++, которая рисует прямоугольную рамку с использованием символов вертикальных штрихов и горизонтальных дефисов:
cpp#include <iostream>
#include <string>
void drawLine(char symbol, int length)
{
for (int i = 0; i < length; ++i)
std::cout << symbol;
}
void drawFrame(int width, int height)
{
// Верхняя граница рамки
drawLine('-', width);
std::cout << std::endl;
// Внутренние строки рамки
for (int i = 0; i < height - 2; ++i)
{
std::cout << '|';
drawLine(' ', width - 2);
std::cout << '|' << std::endl;
}
// Нижняя граница рамки
drawLine('-', width);
std::cout << std::endl;
}
int main()
{
int width, height;
std::cout << "Введите ширину рамки: ";
std::cin >> width;
std::cout << "Введите высоту рамки: ";
std::cin >> height;
drawFrame(width, height);
return 0;
}
Пользователь будет приглашен ввести ширину и высоту рамки. Затем функция drawFrame
будет вызвана с этими значениями, и программа нарисует прямоугольную рамку, используя символы вертикальных штрихов (|
) и горизонтальных дефисов (-
).
Пример вывода программы при вводе ширины 8 и высоты 5:
markdownВведите ширину рамки: 8
Введите высоту рамки: 5
--------
| |
| |
| |
| |
--------
Надеюсь, это помогло! Если у вас возникнут еще вопросы, не стесняйтесь задавать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili