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

Перемена мест максимального и минимального элемента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Применение и удаление указателей http://www.cyberforum.ru/cpp-beginners/thread1011757.html
Здравствуйте. Я не могу понять сути,когда нам нужно удалить указатель для освобождения памяти. Есть указатель: int *pHealth; Функция:
C++ Класс-матрица В общем вот такое задание Создать параметризованный класс - матрица. Определены конструкторы, деструктор и перегружены операторы =, . Если кто то может чем то помочь или у кого то есть что то похожее сбросьте пожалуйста. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1011704.html
Обработка символьных строк C++
_Выравнивание правого края._ Многое современные текстовые редакторы представляют пользователю возможность форматирования текста, когда устанавливается фиксированная длина строки, а правый край отпечатанного текста выравнивается за счёт увеличения промежутков между словами, встречающимися в строке. Предлагается задача выбора подходящих промежутков.За счёт изменения групп пробелов внутри строки...
Аллокатор в chrome C++
Всем привет, начал изучать исходники хрома, в аллокаторе, метод realloc должен возвращать nullptr если передаваемый аргумент size равен нулю: void* realloc(void* ptr, size_t size) __THROW { // Webkit is brittle for allocators that return NULL for malloc(0). The // realloc(0, 0) code path does not guarantee a non-NULL return, so be sure // to call malloc for this case. if (!ptr) ...
C++ Волновой алгоритм - поиск минимального пути http://www.cyberforum.ru/cpp-beginners/thread1011624.html
Доброго времени суток всем. Не могу въехать в алгоритм волновой для поиска минимального пути. Видел кучу примеров с готовым кодом, читал, но не дошло. Брал готовый пример, изменял, и при этом он выдавал ерунду. Суть в чём: я с помощью массива делаю простенькую карту(лабиринт). 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 - стена, 1 - можно идти. тут видно что...
C++ Пианино в C++ Только начал постигать азы и решил заняться созданием своего пианино. Пока нуждаюсь в помощи выбора лит-ры и примерное описание того, что придется делать. И еще хотел бы узнать, сколько потребуется времени что бы его создать человеку, который язык вот только только начал изучать? подробнее

Показать сообщение отдельно
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
19.11.2013, 14:52
Наверное как то так
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
#include <iostream>
#include <string>
 
using namespace std;
 
int min(int * arr, const int size)
{
    int _min = 0;
    for(int i = 0; i < size; ++i)
        if(_min > arr[i])
           _min = arr[i];
    
    return _min;
}
 
int max(int * arr, const int size)
{
    int _max = 0;
    for(int i = 0; i < size; ++i)
        if(_max < arr[i])
           _max = arr[i];
           
    return _max;
}
 
void swap(const int & min, const int & max, int * arr, const int size)
{
     int minIdx = 0, maxIdx = 0;
     for(int i = 0; i < size; ++i)
     {
        if(min == arr[i]) minIdx = i;
        if(max == arr[i]) maxIdx = i;
     }
   
     int tmp = 0;
     tmp = arr[minIdx];
     arr[minIdx] = arr[maxIdx];
     arr[maxIdx] = tmp;
}
 
int main(int argc, char *argv[])
{
   const int SIZE = 10; 
   int * arr = new int[SIZE];
   
   std::cout << "Input array: " << std::endl;
   for(int i=0; i<SIZE; ++i)
       std::cin >> arr[i];
   
   int _min = min(arr, SIZE);
   int _max = max(arr, SIZE);
   
   swap(_min, _max, arr, SIZE);
   
    for(int i=0; i<SIZE; ++i)
       std::cout << arr[i] << " ";  
       std::cout << std::endl;
    
    system("PAUSE");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru