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

проблема с присвоением - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ hex to dec http://www.cyberforum.ru/cpp-beginners/thread386966.html
Есть такой глупый вопрос: как перевести из шестнадцатеричной в десятичную систему? Т.е. что бы получилось примерно следующее: char tmp_lng = {0x26, 0x27}; int lng = hexToDec(tmp_lng); // lng = 39 Спасибо. Добавлено через 1 час 6 минут
C++ Работа с LPT Всем привет !! У меня такая проблимка мне надо написать программу которая будет выщитывать двоичный код затем обращаться к лпт порту и подавать сигнал либо не подавать на отдельные выводы к которым будут подключены светодиоды но я не знаю какие операторы выполняют действие с Лпт портами . Зарание благодарю! http://www.cyberforum.ru/cpp-beginners/thread386959.html
C++ Задача со стеком
Помогите, пожалуйста, со стеком. Нужно разработать процедуру, которая будет формировать стек Stack. В этот стек должны быть включены по одному разу элементы, которые входят в Stack1, но не входят в стек Stack2.
Перегрузка определителя. что есть что? C++
Перегрузка определителя. не могу прогу вообще понять. я даже не понимаю, что переменные значат. объясните пожалуйста. mass mass::operator<(mass z1) { long double kst, y;// хоть убейте, не понимаю, что такое kst int p,k=0,t; p=0; for (i=0; i<n-1; i++) { t=1; while(a==0)
C++ Считывания символьного массив из файла. Каждое слово в отдельную ячейку! http://www.cyberforum.ru/cpp-beginners/thread386935.html
Здравствуйте! Нужна помощь! Возникла такая проблема! Есть некий *.txt файл в котором записанные некие слова, так вот нужно считать каждое слово в отдельную ячейку одномерного массива! Содержимое файла: Irish Wales Welshman
C++ error LNK2019: unresolved external symbol __imp__ В чем проблема можете подсказать. 1>------ Build started: Project: Opgl, Configuration: Debug Win32 ------ 1>Compiling... 1>op.cpp 1>c:\program files\microsoft visual studio 9.0\vc\include\gl\glaux.h(17) : warning C4068: unknown pragma 1>c:\program files\microsoft visual studio 9.0\vc\include\gl\glaux.h(374) : warning C4068: unknown pragma 1>Compiling manifest to resources... 1>Microsoft... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
19.11.2011, 18:57     проблема с присвоением
Прямой перебор. Первое попавшееся разделение, подходящее под условие.
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
62
63
64
65
66
67
68
69
70
71
72
73
#include <vector>
#include <iostream>
#include <algorithm>
#include <numeric>
#include <ctime>
#include <cstdlib>
 
struct RandomInteger  {
  RandomInteger(const int &min, const int &max)
    : min_(min), max_(max) {}
  float operator()() {
    return (rand() % (max_ - min_ + 1) + min_);
  }
 private:
  int min_, max_;
};
 
template <class ValueType>
std::ostream &operator<<(std::ostream &stream, std::vector<ValueType> &vector) {
  typedef std::vector<ValueType> Vector;
  for (typename Vector::iterator i = vector.begin(); i != vector.end(); ++i)
    stream << (*i) << " ";
  return stream;
}
 
// побочный эффект -- сортировка значений
template <class Iterator>
Iterator findMiddleWeight(Iterator begin, Iterator end) {
  std::sort(begin, end);
  Iterator pivot = begin + (end - begin) / 2;
  int sumLeft = std::accumulate(begin, pivot, 0);
  int sumRight = std::accumulate(pivot,  end, 0);
  while (pivot >= begin && pivot != end) {
    if (std::max(sumLeft, sumRight) / std::min(sumLeft, sumRight) < 2)
      return pivot;
    if (sumLeft > sumRight) {
      --pivot;
      sumRight += *pivot;
      sumLeft -=*pivot;
    } else {
      sumRight -= *pivot;
      sumLeft +=*pivot;
      ++pivot;
    }
  }
  return end;
}
 
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  size_t stonesCount = 23;
  std::vector<int> stones(stonesCount);
  std::generate(stones.begin(), stones.end(), RandomInteger(100, 1000));
  std::cout << stones << std::endl;
 
  std::vector<int>::iterator middle = findMiddleWeight(stones.begin(),
    stones.end());
 
  if (middle == stones.end()) {
    std::cout << "Cannot be done." << std::endl;
  } else {
    std::cout << stones << std::endl << "Left: " << std::endl;
    for (std::vector<int>::iterator i = stones.begin(); i != middle; ++i)
      std::cout << *i << " ";
    std::cout << "| ";
    for (std::vector<int>::iterator i = middle; i != stones.end(); ++i)
      std::cout << *i << " ";    
    std::cout << "Sum left:  " << std::accumulate(stones.begin(), middle, 0) <<
      std::endl << "Sum right: " << std::accumulate(middle, stones.end(), 0) <<
      std::endl;
  }
}
 
Текущее время: 12:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru