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

Поменять местами MIN и MAX в массивах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнить два любых файла на С++ http://www.cyberforum.ru/cpp-beginners/thread579949.html
В общем задача такая: Надо сравнить два любых файла(ехе, doc, pdf) - и вывести сообщение: а) если они различаются - то место(номер) байта в котором они расходятся б) если они одинаковые - то соответствующее сообщение. Я это задание сделал для текстовых файлов, но оказывается надо для любого формата: На мой взгляд алгоритм должен выглядеть так: 1) указать два файла(считать эти файлы) 2)...
C++ WinAPI Ввод с клавиатуры Здравствуйте! Пишу курсовую по проге и нужно сделать обязательно ввод с клавиатуры. Вот я создаю новое окошечко case WM_CREATE: { xo = CreateWindow(L"EDIT",L"точка перехода:",WS_CHILD|WS_VISIBLE,40,50,200,20,hWnd,(HMENU)IDI_SMALL,hInst,NULL); return 0; } http://www.cyberforum.ru/cpp-beginners/thread579940.html
C++ Почему функция не удаляет минимальный элемент
Вот кусок функции void second::Udal_Min() { for(int i=0;i<n;i++)\ { if (*(x+i)==min) {if (i==(n-1)) { *(x+i)=NULL;
C++ перегрузка операторов, комплексные числа C++
Помогите разобраться в предоставленной программе.. Сама программа(не сначала..до этого всё вроде понятно): // Вспомогательная функция //------------------------------------------------------------------------------ template <class TVal> void Rand(TVal *i) { *i = (random(20)-10)/10.0; };
C++ Динамический массив http://www.cyberforum.ru/cpp-beginners/thread579888.html
В динамическом массиве(одномерном или двумерном) добавить после каждого негативного элемента его модуль.
C++ Перевод из десятичной в двоичную, восьмеричную и шестнадцатиричную систему Задание: написать программу которая переводит десятичное число в 2, 8 и 16 систему счисления. #include "stdafx.h" #include <iostream.h> void main() { int var, dvo, vos, she, var1, var2; cout << "Vvedite chislo v desyatichnoi sisteme: "; подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7162 / 4328 / 632
Регистрация: 29.11.2010
Сообщений: 11,750
20.05.2012, 03:17     Поменять местами MIN и MAX в массивах
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
74
75
76
77
78
79
80
#include <iostream>
 
template<typename T>
void filling(T *, int);
template<typename T>
void print(T *, int);
template<typename T>
T get_min(T *, int);
template<typename T>
T get_max(T *, int);
template<typename T>
void swap_min_max(T *, int);
 
 
int main()
{
    int A[4], B[3], C[4], D[5];
    filling(A, 4);
    print(A, 4);
    swap_min_max(A, 4);
    print(A, 4);
    filling(B, 3);
    print(B, 3);
    swap_min_max(B, 3);
    print(B, 3);
    filling(C, 4);
    print(C, 4);
    swap_min_max(C, 4);
    print(C, 4);
    filling(D, 5);
    print(D, 5);
    swap_min_max(D, 5);
    print(D, 5);
    return 0;
}
 
template<typename T>
void filling(T *arr, int N)
{
    for(int i=0; i < N; i++)
        std::cin>> arr[i];
}
 
template<typename T>
void print(T *arr, int N)
{
    for(int i=0; i < N; i++)
        std::cout<< arr[i]<< " ";
    std::cout<< std::endl;
}
 
template<typename T>
T get_min(T *arr, int N)
{
    T min = arr[0];
    for(int i=0; i < N; i++)
        if(arr[i] < min) min = arr[i];
    return min;
}
 
template<typename T>
T get_max(T *arr, int N)
{
    T max = arr[0];
    for(int i=0; i < N; i++)
        if(arr[i] > max) max = arr[i];
    return max;
}
 
template<typename T>
void swap_min_max(T *arr, int N)
{
    T max = get_max(arr, N);
    T min = get_min(arr, N);
    for(int i=0; i < N; i++)
    {
        if(arr[i] == min) arr[i] = max;
        else if (arr[i] == max) arr[i] = min;
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru