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

Народ, тут случайно никто в с++ не шарит? если есть такие то )) разработать функцию удаления из очереди всех положительных элементов.

👇
Ответ:
кроп1
кроп1
29.12.2021

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <queue>

template <typename T>

void remove(std::queue<T> *q)

{

int *a = new int[q->size()];

int t = 0;

for (int i = 0; i < q->size(); i++)

{

 if (q->front() <= 0)

 {

  a[t] = q->front();

  t++;

 }

 q->pop();

}

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

 q->push(a[i]);

}

int main()

{

srand(time(NULL));

std::queue<int> q;

int l;

std::cin >> l;

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

{

 //создание очереди

 q.push(rand()%21-10);

 std::cout << q.back() << ' ';

}

remove(&q);

std::cout << std::endl;

for (int i = 0; i < q.size(); i++)

{

 //вывод очереди на экран

 std::cout << q.front() << ' ';

 q.pop();

}

return 0;

}

4,5(80 оценок)
Открыть все ответы
Ответ:
vborisenko75
vborisenko75
29.12.2021
Для удобства прономерую строки:

1) procedure F (n:integer);
2) begin
3) if n > 2 then begin 
4) writeln (n);
5) F (n-3);
6) F (n-4)
7) end
8) end;

-первый вызов- со входным параметром n=10
-в строке 3 проверяется, что n больше двух,
-так как n действительно больше двух, то выполняются три следующие строки № 4,5,6 (а строка 7 -это указатель конца блока, выполняемого при истинности проверки)
-строка 4 печатает значение n, то есть 10
-строка 5 вызывает этот алгоритм вновь, со входным параметром 7
-строка 6 опять вызывает алгоритм, со входным параметром 6
И в каждом вызове будут ещё два вызова, со входными параметрами на три и четыре меньше, чем был
И так далее, каждый вызов будет вновь вызывать алгоритм, и печатать n до тех пор, пока n будет больше двух.

итак, получим ветвление вызовов, и вот значение n в каждом из них:
    10
     7                   6
  4     3            3     2
1 0  0 -1        0 -1

но, не все из этих n будут напечатаны, а только те, которые больше двух. если по порядку, то вот что будет напечатано:
10
7
4
3
6
3

сумма всех этих чисел равна 33

ответ: 33.
4,8(24 оценок)
Ответ:
nvel1999
nvel1999
29.12.2021
1. Определим размер алфавита, т.е. количество используемых символов.
26*2 латинских букв т.к. используются как строчные, так и прописные + 10 десятичных цифр + 6 специальных символов = 68 символа
2. Чтобы закодировать 68 разных символов нужно (2^6<68<2^7) 7 бит т.к. 6 не хватит (смотрим на степень двойки)
3. В коде 9 символов, каждый символ занимает 6 бит. Всего потребуется 7×9=63 бит. Поскольку код занимает целое число байт, переводит 54 бит в байты. 63/8 = 7,875 ≈ 8 байт.
4. 8 байт это один один пароль, а на 100 паролей ⇒ 8*100=800 байт
4,7(15 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ