Вопрос задан 13.06.2023 в 21:59. Предмет Информатика. Спрашивает Єфімчук Максим.

С++ Напишите программу, которая рисует с помощью символьной графики прямоугольную рамку. Для

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Милованова Анюта.

Программа:

С++:

#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


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на 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 -------- | | | | | | | | --------

Надеюсь, это помогло! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос