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

Смайлики
Напишите программу, которая посчитает количество смайликов в заданном тексте. Смайликом будем считать последовательность символов, удовлетворяющую условиям: первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз) в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ]. внутри смайлика не может встречаться никаких других символов.
Например, нижеприведенные последовательности являются смайликами:
:)
;
В то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики):
:-)]
;--
-)
::-(
:-()
В этой задаче требуется посчитать количество смайликов, содержащихся в данном тексте.
Входные данные
Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов. Выходные данные
Выведите одно число — количество смайликов, которые встречаются в тексте. Примеры
Ввод
:);]
Вывод
2

Показать ответ
Ответ:
ЕгорМаксимов
ЕгорМаксимов
10.04.2023 00:13

#include "pch.h"

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int n;

cout << "Введи количество чисел: "; cin >> n;

int a, b;

cout << "Введи левую границу (a): "; cin >> a;

cout << "Введи правую границу (b): "; cin >> b;

int *p = new int[n];

for (int i = 0; i < n; i++)

 cin >> p[i];

for (int i = 0; i < n; i++)

{

 if (p[i] <= b && p[i] >= a)

  cout << " " << p[i];

}

delete[] p;

return 0;

}

0,0(0 оценок)
Ответ:
DevilingKeks
DevilingKeks
03.05.2022 21:17

В десятичной: 13

В двоичной: 1101

Объяснение:

Из двоичной в десятичную:

Пронумеровать цифры в 1101 справа налево, начало отсчета это 0 (т.е. справа начинается 0, 1, 2, 3). Затем везде, где в двоичной записи стоят единицы, записать 2 в степени нумерации под этим числом (т.е. в 1101 под первой единицей нумерация 3, это 2^3, под второй единицей нумерация 2, это 2^2, затем ноль пропускаем, под последней единицей нумерация 0, это 2^0). Затем все складываем

Получится 2^3+2^2+2^0=8+4+1=13

Из десятичной в двоичную:

Делим число на 2 и замечаем остаток:

13/2=6, остаток 1.

6/2=3, остаток 0.

3/2=1, остаток 1.

Дальше делить не получится. Берем последнюю единицу, оставшуюся после деления, а затем записываем все остатки, начиная с конца: 1 1 0 1.

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