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

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


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

Ответ:
Lina555510
Lina555510
16.01.2021 06:00

#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'ов с количеством элементов равному размеру входящего текста и выводить его вместо циклов.


Напишите функцию, которая принимает на вход строку текста и печатает ее на экран в рамочке из символ
0,0(0 оценок)
Ответ:
136есеп23бет
136есеп23бет
20.01.2024 10:57
Хорошо, давайте решим эту задачу пошагово.

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" в рамке, как показано на картинке в вопросе.

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