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

Подскажите пожалуйста как написать реализацию алгоритма - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Действия со списком http://www.cyberforum.ru/cpp-beginners/thread1003355.html
Здравствуйте. Проблема-работает только ввод строки, когда пытаюсь вывести на экран или еще что-нибудь сделать со строкой то закрывает программу. Помогите, пожалуйста) Вот задание: Выполнение лабораторной работы Создать Класс1, который должен содержать конструктор, деструктор, а также методы извлечения и установки данных. Создать класс Список, где каждый элемент представляет собой объект...
C++ найти в тексте все гласные буквы Всем привет, подскажите как реализовать данную задачку, найти в тексте все гласные буквы http://www.cyberforum.ru/cpp-beginners/thread1003350.html
FTLK из учебника C++
Ребят может кто подробно написать как интегрировать FTLK , в VS2012 ? уже много чего перерыл не как не могу разобратся Добавлено через 5 часов 20 минут Немного разобрался теперь вышла ошибка ..... в этом коде #include <Simple_window.h> #include <Graph.h> int main() { using namespace Graph_lib;
Удалить столбец матрицы с минимальным номером, в котором все элементы неположительны и упорядочены по возраста C++
Задача: Задана матрица A целых чисел размера N × M (N, M ≤ 20, N и M задаются как параметры). Преобразовать ее в матрицу B путем удаления столбца этой матрицы с минимальным номером, в котором все элементы неположительны и упорядочены по возрастанию. код: #include<stdio.h> #include<locale.h> #define N 20 #define M 20 void main() {
C++ Специализация шаблона http://www.cyberforum.ru/cpp-beginners/thread1003281.html
Здравствуйте! Задача: Создайте шаблонную функцию maxn(), которая принимает в качестве аргумента массив элементов типа Т и целое число, представляющее собой количество элементов в массиве, и возвращает элемент с наибольшим значением. Проверьте ее в программе, которая использует шаблон данной функции с массивом из шести значений типа int и с массивом из четырех значений типа double. Программа...
C++ Перегрузка оператора + String String::operator + (String & sg2) { String tmp; tmp.str = new char ; strcpy (tmp.str, str); strcat (tmp.str, sg2.str); return tmp; } Собственно вопрос: как вернуть tmp? Насколько я понимаю, деструктор срабатывает раньше... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
10.11.2013, 21:33     Подскажите пожалуйста как написать реализацию алгоритма
Тут всего 1024 варианта прямого перебора хватит.
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
double operate(double a, double b, int operation) {
  switch (operation) {
    case 0: return a + b;
    case 1: return a - b;
    case 2: return a * b;
    case 3: return a / b;
  }
  return 0;
}
 
int getOperation(long permutation, int position) {
  return (permutation & (3 << (position * 2))) >> (position * 2);
}
 
double calculate(long permutation) {
    return operate(
    operate(
    operate(
    operate(
    operate(
    1,
    2, getOperation(permutation, 0)),
    3, getOperation(permutation, 1)),
    4, getOperation(permutation, 2)),
    5, getOperation(permutation, 3)),
    6, getOperation(permutation, 4));
}
 
std::string formulate(long permutation) {
  const static char symbols[] = {'+', '-', '*', '/'};
  std::string result = std::string("1 ") +
    symbols[getOperation(permutation, 0)] +
    " 2 " + symbols[getOperation(permutation, 1)] +
    " 3 " + symbols[getOperation(permutation, 2)] +
    " 4 " + symbols[getOperation(permutation, 3)] +
    " 5 " + symbols[getOperation(permutation, 4)] +
    " 6";
  return result;
}
 
int main(int, char**) {
  for (int i = 0; i < 1024; ++i) {
    double value = calculate(i);
    if (fabs(value - int(value)) < 0.000000001) {
      std::cout << formulate(i) << " = " << value << std::endl;
    }
  }
 
  return 0;
}
 
Текущее время: 03:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru