Реализация в производном классе метода

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Sereg
Сообщения: 8
Зарегистрирован: 04 дек 2015, 20:25

Есть такое задание:
Создать иерархию классов представляющих простое наследование. Базовый класс – вектор (числовой динамический массив (int *)). Производный класс – методы, работающие с данными базового класса. Реализовать в производном классе метод – поиска в векторе максимального и минимального значений и замены их местами в векторе.
Помогите реализовать метод поиска в векторе и замены.
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Код: Выделить всё

int *p;
int *min;
int *max;
int tempory;
if (Count>0)
{
 for (p=Data+Count-1, min=Data, max=Data; p>Data; --p)
 {
  if ((*min)>(*p))
  {
   min=p;
  }
  if ((*max)<(*p))
  {
   max=p;
  }
 }
 tempory=(*min);
 (*min)=(*max);
 (*max)=tempory;
}
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Din666
Сообщения: 52
Зарегистрирован: 17 июл 2015, 13:25
Откуда: Moscow
Контактная информация:

Код: Выделить всё

#include <algorithm>
#include <iterator>
#include <iostream>

int main() {
    int vec[] = {3,5,6,1};

    auto begin = [&](){return vec;};
    auto end = [&](){return vec + sizeof(vec)/sizeof(vec[0]);};

    std::cout << "array=";
    std::copy(begin(), end(), std: :o stream_iterator<int>(std::cout, ":"));
    std::cout << std::endl;

    auto & min = *(std::min_element(begin(), end()));
    auto & max = *(std::max_element(begin(), end()));
    std::cout << "min=" << min << std::endl;
    std::cout << "max=" << max << std::endl;

    std::swap(min, max);
    std::cout << "array=";
    std::copy(begin(), end(), std: :o stream_iterator<int>(std::cout, ":"));
}
а вот реализации использованных алгоритмов:
http://www.cplusplus.com/reference/algo ... n_element/
http://www.cplusplus.com/reference/algo ... x_element/
http://www.cplusplus.com/reference/algorithm/swap/
Sereg
Сообщения: 8
Зарегистрирован: 04 дек 2015, 20:25

Большое спасибо!
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Din666, а ничего, что просили метод?
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Din666
Сообщения: 52
Зарегистрирован: 17 июл 2015, 13:25
Откуда: Moscow
Контактная информация:

Сионист: А читать когда будем внимательно: "реализовать метод поиска в векторе и замены", то есть реализацию метода.
Sereg
Сообщения: 8
Зарегистрирован: 04 дек 2015, 20:25

Да мне именно реализация метода нужна, с иерархией классов вроде разобрался.
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Din666 писал(а):Сионист: А читать когда будем внимательно: "реализовать метод поиска в векторе и замены", то есть реализацию метода.
Реализация реализацией, но зачем её вытягивать в main?
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Din666
Сообщения: 52
Зарегистрирован: 17 июл 2015, 13:25
Откуда: Moscow
Контактная информация:

Сионист мне не нравится, что ты превращаешь все в какой-то срач. Но отвечу: в мэйн запихнул, чтобы человек мог запустить этот пример посмотреть как он работает, да и всегда лучше отлаживаться на таких вот микротестах, а затем рабочую реализацию спокойно запихивать с подходящую сущность (метод/ф-цию ....)
Ответить