На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> С++
    №2 Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

    где а, b, с — действительные числа.
    Функция F должна принимать действительное значение, если выражение
    НЕ(Ац ИЛИ Вц ИЛИ Сц)
    не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений а, b, с, операции НЕ и ИЛИ — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.


    №1.
    вычислить корень квадратный от (sin(x)+cos(x));

    №3.
    В одномерном массиве, состоящем из п вещественных элементов, вычислить:
    a) количество отрицательных элементов массива;
    b) сумму модулей элементов массива, расположенных после минимального по модулю элемента;
    c) заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.


    Памогите сделать задачи по C++ надо срочно пожалуйста.



    №4.
    Составить программу подсчета числа всех натуральных чисел, меньших М, квадрат суммы цифр которых равен Х.


    №5.

    Описать структуру с именем TRAIN, содержащую следующие поля:
    • NAZN — название пункта назначения;
    • NUMR — номер поезда;
    • TIME — время отправления.
    Написать программу, выполняющую следующие действия:
    • ввод с клавиатуры данных в массив RASP, состоящий из восьми элементов типа TRAIN; записи должны быть упорядочены по номерам поездов;
    • вывод на экран информации о поезде, номер которого введен с клавиатуры;
    • если таких поездов нет, выдать на дисплей соответствующее сообщение.
      №6. И чё, мы должны за тебя это делать? :blink:
        это только на ц++ при помощи обьектов и stl можно сделать...
          ключи от квартиры? тоже приаттачить?
            а если в духе master programmer'a из http://www.sources.ru/news/20010609.shtml
            написать? чисто по приколу?:):):)
              Хм. Предлагаю переименовать раздел в Pure C++.
                Цитата
                serg, 25.01.04, 11:13
                Памогите сделать задачи по C++

                На С++ говоршь... Ну тады держи :D
                ExpandedWrap disabled
                   
                  template<typename T> class range_iterator_t : public std::iterator<std::forward_iterator_tag, T, T>
                  {
                  public:
                      typedef range_iterator_t<T> iterator;
                   
                      range_iterator_t() : m_Min(0), m_Max(0), m_Step(0), m_Cur(0) {;}
                      range_iterator_t(T max, T step = 1, T min = 0) : m_Min(min), m_Max(max), m_Step(step), m_Cur(min) {;}
                   
                      T operator*() {return m_Cur;}
                      bool operator == (const iterator& it) const
                      {
                          if (m_Min == 0 && m_Max == 0)
                              return it == *this;
                          if (it.m_Min == 0. && it.m_Max == 0.)
                              return m_Cur > m_Max;
                          return m_Min == it.m_Min && m_Max == it.m_Max && m_Cur == it.m_Cur && m_Step == it.m_Step;
                      }
                      bool operator != (const iterator& it) const {return !(*this == it);}
                   
                      iterator operator ++()
                      {
                          m_Cur += m_Step;
                          return *this;
                      }
                      iterator operator ++ (int)
                      {
                          iterator ret_val(*this);
                          m_Cur += m_Step;
                          return ret_val;
                      }
                   
                  private:
                      T m_Min;
                      T m_Max;
                      T m_Cur;
                      T m_Step;
                  };
                   
                  template<typename T> range_iterator_t<T> range_iterator(T max, T step = 1, T min = 0)
                  {
                      return range_iterator_t<T>(max, step, min);
                  }
                   
                  struct Function
                  {
                      Function(double a, double b, double c) : m_A(a), m_B(b), m_C(c) {;}
                      void operator()(double x)
                      {
                          double value = m_A * x * x + m_B * x + m_C;
                          if (~((int)(m_A) | (int)(m_B) | (int)(m_C)) != 0)
                              ;
                          else
                              value = (int)value;
                   
                          std::cout << "F(" << x << ")= " << value << std::endl;
                      }
                   
                      double m_A;
                      double m_B;
                      double m_C;
                  };
                   
                  int MyRand1()
                  {  
                      static int arr[] = { 78, -20, 40,  6,  8, 10, 12, -14, 16, 18};
                      static int* ptr = arr;
                      return *ptr ++;
                  }
                   
                  int MakeSquare(int val)
                  {
                      return val >= 0 ? val : val * val;
                  }
                   
                  void Task1()
                  {
                      //2-я
                      double min, max, step, a, b, c;
                      std::cout << "Enter min, max, delta, a, b and c: ";
                      std::cin >> min >> max >> step >> a >> b >> c;
                   
                      std::for_each(range_iterator(max, step, min), range_iterator(0.0), Function(a, b, c));
                   
                      // 3-я
                      std::vector<int> arr(10);
                      std::generate(arr.begin(), arr.end(), MyRand1);
                      int n_mins = std::count_if(arr.begin(), arr.end(), std::bind2nd(std::less<int>(), 0));
                      std::cout << "Count of negate elements: " << n_mins << std::endl;
                      std::vector<int> mod_arr;
                      std::transform(arr.begin(), arr.end(), std::back_inserter(mod_arr), abs);
                      int sum = std::accumulate(std::min_element(mod_arr.begin(), mod_arr.end()), mod_arr.end(), 0, std::plus<int>());
                      std::cout << "Sum of elements: " << sum << std::endl;
                      std::transform(arr.begin(), arr.end(), arr.begin(), MakeSquare);
                      std::sort(arr.begin(), arr.end());
                      std::cout << "Modified array: ";
                      std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, " "));
                   
                  }
                  мощно задвинул. внушает. :D
                  Сообщение отредактировано: AQL -
                    2Flex_Ferrum, просто the best!!!
                      Какой однако код красивый и понятный... :D
                        Цитата
                        .alex, 26.01.04, 17:08
                        Какой однако код красивый и понятный...

                        А представь, как бы он выглядел, если бы использовались циклы? :D от сплошных for'ов в глазах бы рябило... :D
                          Цитата
                          Flex_Ferrum, 26.01.04, 17:18
                          А представь, как бы он выглядел, если бы использовались циклы? от сплошных for'ов в глазах бы рябило...

                          Ну я и говорю (серьёзно), что красиво, а главное оригинально :D
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0618 ]   [ 16 queries used ]   [ Generated: 3.05.24, 06:55 GMT ]