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

Найти в массиве максимальный и минимальный элементы и поменять их местами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование, подскажите что не так http://www.cyberforum.ru/cpp-beginners/thread375109.html
Решил разобраться с наследованием, настрочил простенький такой код .. работать не хочет Подскажите что не так #include "stdafx.h" using namespace std; #include "iostream" class baza{
C++ Распечатать слова через запятую, заключив печатную строку в скобки В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова через запятую, заключив печатную строку в скобки. Длина печатной строки... http://www.cyberforum.ru/cpp-beginners/thread375103.html
C++ Нужен код программы для кодировки методом ХафФмана
Немного теории: Дерево кодирования Хаффмена (Н-дерево) - двоичное дерево, у которого каждый узел имеет вес, и вес родителя равен суммарному весу его детей. Классический алгоритм Хаффмена на входе...
Помогите студенту завтра в 1 час C++
Мне нужна помощ по легким задачам с++ оплата следует если кто заинтересован пишите скайп soslan15rus1
C++ Написать программу для игры "Камень, бумага, ножницы" http://www.cyberforum.ru/cpp-beginners/thread375094.html
Прочитал четыри главы книги Бьярне Страуструп Программирование: принципы и практика использования C++, исправленное издание и приступил делать и здание не получаеться это сделать не знаю почему???...
C++ Битовое представление Как можно получить любой файл в виде массива бит (именно бит, не байт) чтобы произвести непосредственно над каждым битом действие, и из выходной последовательности бит получить файл (не список бит в... подробнее

Показать сообщение отдельно
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
30.10.2011, 21:11
Исправленный вариант
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
#include<iostream>
using namespace std;
void Input(int* a, int n)       //ГґГіГ*êöèÿ ââîäГ* Г¬Г*Г±Г±ГЁГўГ*
{
 for (int i = 0; i < n; i++)
{
   cout << "\n a[" << i << "]= ";
        cin >> a[i];
}
}
 
 void Output(int* a, int n)     //ГґГіГ*êöèÿ âûâîäГ* Г¬Г*Г±Г±ГЁГўГ*
{
 for (int i= 0; i < n; i++)
          {
              cout << a[i]<< " ";
          }
 cout << "\n";
}
int Max(int* a, int n, int &imax)       //ГґГіГ*êöèÿ ïîèñêГ* Г¬Г*êñèìóìГ* Гў Г¬Г*Г±Г±ГЁГўГҐ
{
 int i, max;
 max=a[0]; imax=0;
 for (i = 1; i < n; i++)
        if (a[i] > max)  
{
 max=a[i]; imax=i;
 }
 return max;
}
int Min(int* a, int n, int &imin)               //ГґГіГ*êöèÿ ïîèñêГ* ìèГ*èìóìГ* Гў Г¬Г*Г±Г±ГЁГўГҐ
{
int i, min;
min=a[0]; imin=0;
for (i=1; i<n; i++)
        if (a[i]<min)  
{
 min=a[i]; imin=i;
 }
return min;
}
 
int main()
{
 int* a;
 int i, n, max, min, imax, imin;
 cout<< "n= ";
 cin >> n;
 
a = new int[n];
 Input(a, n);
 
 cout << "massiv:"<<endl;
 cout<< "\n";
 
Output(a, n);
 
max = Max(a, n, imax);
min = Min(a, n, imin);
 
 cout << " \n max = " << max << "imax = "<< imax;
 cout << " \n min = " << min << "imin = "<< imin;
 
 a[imax] = min; a[imin] = max;  //îáìåГ* Г¬Г*êñèìóìГ* ГЁ ìèГ*èìóìГ*
 
 cout << "\n New massiv: ";
 Output(a, n);
 
 cout << endl;
 system("pause");
}
Но я бы сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
 
int main()
{
    std::vector<int> vec;
    int num;
    while(std::cin>>num)
    vec.push_back(num);
    std::iter_swap(std::min_element(vec.begin(),vec.end()),std::max_element(vec.begin(),vec.end()));
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru