Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Создать стек, определить сколько елементов находится до минимального значения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ факториал сократить http://www.cyberforum.ru/cpp-beginners/thread962001.html
Добрый день. Хотел спросить как сократить факториал? Формула приведена ниже, красным обведено. Вот сама формула записана в С++, и вместо верхней формулы я использовал х. Теперь вместо этого хнужно...
C++ Передача аргументов командной строки функции main() Добрый день Дана задача: Напишите программу, которая запрашивает пароль, задаваемый в команд- ной строке. Ваша программа не должна реально выполнять какие-либо действия, за исключением выдачи... http://www.cyberforum.ru/cpp-beginners/thread961977.html
Вывести в цикле те цифры числа, которые не делятся на 3 без остатка. C++
Вывести только те цифры числа, которые не делятся на 3 без остатка.
C++ Нахождение минимального элемента в стеке
Вроде стек получилось реализовать, а вот как найти минимальный элемент без понятия. #include <iostream.h> #include <stdlib.h> #include <stdio.h> /*НАША СТРУКТУРА*/ struct List {
C++ Определить длину самой длинной цепочки единиц в переменной unsigned long a; http://www.cyberforum.ru/cpp-beginners/thread961931.html
Помогите составить алгоритм нахождения этой длины
C++ C++, CodeBlocks и ncurces Пытаюсь скомпилировать простенький пример с ncurces #include <iostream> #include <curses.h> int main(int argc, char **argv) { initscr(); move(5,15); printw("test message"); подробнее

Показать сообщение отдельно
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
25.09.2013, 14:17
Примерно я написал бы так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <stack>
#include <random>
#include <chrono>
 
template<typename T>
void print_stack(std::stack<T> st)
{
   while (!st.empty())
   {
      std::cout << st.top() << " ";
      st.pop();
   }
   std::cout << std::endl;
}
 
template<typename T>
T min_elem(std::stack<T> st)
{
   T min = st.top();
   st.pop();
   while (!st.empty())
   {
      if(min > st.top())
         min = st.top();
      st.pop();
   }
   return min;
}
 
template<typename T>
size_t pos(std::stack<T> st, T elem)
{
   size_t pos = 0;
   while (!st.empty())
   {
      if(elem != st.top())
         ++pos;
      else
         return pos;
      st.pop();
   }
}
 
int main()
{
   std::default_random_engine gen(std::chrono::system_clock::now().time_since_epoch().count());
   std::uniform_int_distribution<> distribution(-50, 50);
 
   std::stack<int> stk;
   for(size_t i = 0; i < 20; ++i)
      stk.push(distribution(gen));
   print_stack(stk);
   int minimal = min_elem(stk);
   std::cout << "Min element is " << minimal
             << " in position " << pos(stk, minimal) << " of top.";
 
 
   std::cout << std::endl;
   return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru