М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ричбич4
ричбич4
28.06.2020 18:37 •  Информатика

Напишите функцию, которая принимает на вход строку текста и печатает ее на экран в рамочке из символов +, - и |. Для красоты текст должен отделяться от рамки слева и справа пробелом. Например, текст Hello world должен выводиться так:


Напишите функцию, которая принимает на вход строку текста и печатает ее на экран в рамочке из символ

👇
Ответ:
DashaDoro03
DashaDoro03
28.06.2020

#include <iostream>

using namespace std;

void customFunk(const char *text) {

cout << "+-";

for (int i = 0; i < strlen(text); i++) {

 cout << "-";

}

cout << "-+" << endl;

printf("| %s |", text);

cout << endl << "+-";

for (int i = 0; i < strlen(text); i++) {

 cout << "-";

}

cout << "-+" << endl;

}

int main()

{

customFunk("Hello World!");

return 0;

}

Объяснение:

Самый простой Для модернизации рекомендую убрать циклы и вместо них создать массив char'ов с количеством элементов равному размеру входящего текста и выводить его вместо циклов.


Напишите функцию, которая принимает на вход строку текста и печатает ее на экран в рамочке из символ
4,5(29 оценок)
Ответ:
lampec1
lampec1
28.06.2020
Хорошо, давайте решим эту задачу пошагово.

1. Сначала нам нужно определить функцию, которая будет принимать строку текста в качестве аргумента. Давайте назовем эту функцию "print_in_frame". Вот как будет выглядеть начало функции:

```python
def print_in_frame(text):
```

2. Теперь нам нужно определить ширину рамки. Чтобы сделать это, нам нужно найти самую длинную строку в тексте и добавить к ее длине 2 (1 пробел с каждой стороны). Для этого мы можем использовать функцию max() и метод len():

```python
def print_in_frame(text):
width = len(max(text.split(), key=len)) + 2
```

Здесь мы разбиваем текст на список слов с помощью метода split() и находим самое длинное слово с помощью функции max(). Затем мы прибавляем 2 к его длине.

3. Теперь мы можем начать печатать рамку. Для этого мы используем символы +, - и |. План будет следующим:

- Печатаем верхнюю границу рамки, состоящую из width символов "+" и символа "-".
- Печатаем каждую строку текста, обернутую символами "|" и пробелами слева и справа.
- Печатаем нижнюю границу рамки, такую же как и верхняя.

```python
def print_in_frame(text):
width = len(max(text.split(), key=len)) + 2

print("+" + "-" * width + "+") # Верхняя граница рамки

for line in text.split():
print("| " + line + " " * (width - len(line) - 1) + "|") # Строка текста в рамке

print("+" + "-" * width + "+") # Нижняя граница рамки
```

4. Наконец, чтобы проверить, что функция работает правильно, мы можем вызвать ее с примером из вопроса и передать строку "Hello world" в качестве аргумента:

```python
def print_in_frame(text):
width = len(max(text.split(), key=len)) + 2

print("+" + "-" * width + "+") # Верхняя граница рамки

for line in text.split():
print("| " + line + " " * (width - len(line) - 1) + "|") # Строка текста в рамке

print("+" + "-" * width + "+") # Нижняя граница рамки

print_in_frame("Hello world")
```

Теперь, когда мы запустим эту программу, она выведет текст "Hello world" в рамке, как показано на картинке в вопросе.

Надеюсь, это понятно и полезно для вас, и что я смог выступить в роли вашего школьного учителя! Если у вас возникнут еще вопросы, не стесняйтесь задавать. Я буду рад помочь!
4,7(21 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ