Численные алгоритмы. Пример преобразования относительных значений в абсолютные

   
На этом шаге мы рассмотрим еще один пример преобразования относительных значений в абсолютные.

   
Следующий пример показывает, как при помощи алгоритмов partial_sum() и adjacent_difference() преобразовать серию
относительных значений в серию абсолютных значений и наоборот:

//---------------------------------------------------------------------------

#include <vcl.h>
#include <iterator>
#include "algostuff.hpp"

#include <conio.h> //необходимо для getch()

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
using namespace std;

std::string ToRus(const std::string &in)
{
  char *buff = new char [in.length()+1];
  CharToOem(in.c_str(),buff);
  std::string out(buff);
  delete [] buff;
  return out;
}

int main()
{
  vector<int> coll;

  coll.push_back(17);
  coll.push_back(-3);
  coll.push_back(22);
  coll.push_back(13);
  coll.push_back(13);
  coll.push_back(-9);
  PRINT_ELEMENTS(coll,"Исходная коллекция:\n");

  // Преобразование к относительным значениям
  adjacent_difference (coll.begin(), coll.end(),   // Источник
                       coll.begin());              // Приемник
  PRINT_ELEMENTS(coll,"Относительные значения:\n");
     
  // Преобразование к абсолютным значениям
  partial_sum (coll.begin(), coll.end(),           // Источник
               coll.begin());                      // Приемник
  PRINT_ELEMENTS(coll,"Абсолютные значения:\n");


  getch();
  return 0;
}

//---------------------------------------------------------------------------

Текст этого примера можно взять здесь.

   
Результат выполнения программы выглядит так:


Рис.1. Результат работы приложения

   
Со следующего шага мы будем рассматривать специальные контейнеры.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий