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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
katafot
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
#1

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

17.07.2016, 00:32. Просмотров 225. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
    int a[7],maxI,max;
    cout << "vvedite massiv=" << endl;
 
    
    for (int i = 0; i < 7; i++) cin >> a[i];
    max = a[0];
    for (int i = 0; i < 7; i++)
    {
        if (a[i] > max) {
            max = a[i];
            maxI = i;
            
        }
    
    }
    
    return 0;
}
Я нашел индекс максимального, но что дальше, пробовать через tmp?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2016, 00:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять максимальный и предпоследний элемент массива местами (C++):

Поменять местами максимальный и предпоследний элементы в массиве - C++
Поменять местами максимальный и предпоследний элементы в массиве W (12). Вывести исходный и переработан массивы...

Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним - C++
Здравствуйте. Помогите пожалуйста написать программу: для поиска минимального и максимального элементов массива из 15 действительных чисел....

Поменять местами минимальный и максимальный элемент массива Z - C++
Записать четные положительные элементы целочисленных массивов X и Y в мас- сив Z. Поменять местами минимальный и максимальный элемент...

Поменять местами максимальный элемент массива и первый - C++
Смог поменять максимальный элемент массива на первый, но первый на максимальный не меняется. В чем ошибка? #include &lt;iostream.h&gt; ...

Поменять местами максимальный и минимальный элемент массива - C++
из элементов массива надо поменять местами самого большого и самого маленького элемента

Найти максимальный и минимальный элемент массива и поменять их местами - C++
Задан массив целых чисел. Найти максимальный и минимальный элемент массива и поменять их местами Добавлено через 46 минут Написать...

8
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
17.07.2016, 00:38 #2
C++
1
2
3
int tempValue = a[ 7 - 1];
a[7 - 1] = max;
a[maxI] = tempValue;
или
C++
1
std::swap( a[6], a[maxI]);
1
katafot
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
17.07.2016, 00:54  [ТС] #3
int tempValue = a[ 7 - 1];
a[7 - 1] = max;
a[maxI] = tempValue;

Я знаю как это делать, но как его в программу вписать, оно выдает ошибку...
0
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
17.07.2016, 01:09 #4
Цитата Сообщение от katafot Посмотреть сообщение
оно выдает ошибку...
покажите код, что выдаёт ошибку - разберём причину
0
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,792
Завершенные тесты: 1
17.07.2016, 10:01 #5
rikimaru2013, a[ 7 - 1] -это последний a[6] элемент,
предпоследний будет a[5].
1
katafot
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
17.07.2016, 12:06  [ТС] #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    int a[7], maxI, max;
    cout << "vvedite massiv=" << endl;
 
 
    for (int i = 0; i < 7; i++) cin >> a[i];
    max = a[0];
    for (int i = 0; i < 7; i++)
    {
        if (a[i] > max) {
            max = a[i];
            maxI = i;
 
        }
        std::swap(a[5], a[maxI]);
    }
    for (int i = 0; i < 7; i++) cout << a[i] << endl;
    return 0;
}
Я вот не знаю что тут сделать, постоянно с ошибкой выдает.
0
Visus1
1 / 1 / 1
Регистрация: 06.07.2016
Сообщений: 8
17.07.2016, 18:26 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    int a[7], maxI, max;
    cout << "vvedite massiv=" << endl;
 
 
    for (int i = 0; i < 7; i++) cin >> a[i];
    max = a[0];
    for (int i = 0; i < 7; i++)
    {
        if (a[i] > max) {
            max = a[i];
            maxI = i;
        }
        
    }
    std::swap(a[5], a[maxI]);
    for (int i = 0; i < 7; i++) cout << a[i] << endl;
    return 0;
}
0
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
17.07.2016, 18:32 #8
посмотрите оба, что будет при массиве 4 3 2 1
0
Visus1
1 / 1 / 1
Регистрация: 06.07.2016
Сообщений: 8
17.07.2016, 19:00 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    int a[4], maxI = 0, max;
  cout << "vvedite massiv=" << endl;
 
 
    for (int i = 0; i < 4; i++) cin >> a[i];
    max = a[0];
    for (int i = 0; i < 4; i++)
    {
        if (a[i] > max) {
            max = a[i];
            maxI = i;
        }
        
    }
    std::swap(a[2], a[maxI]);
    for (int i = 0; i < 4; i++) cout << a[i] << endl;
    
    return 0;
}
Ну вот теперь работает корректно, в данном случаем из за того что мы не инициализировали переменную maxI и числа идут по убыванию, то естественно будет ошибка.
0
17.07.2016, 19:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2016, 19:00
Привет! Вот еще темы с ответами:

Поменять местами минимальный и максимальный элемент массива V[25] и подсчитать количество парных элементов массива - C++
Поменять местами минимальный и максимальный элемент массива V и подсчитать количество парных элементов массива

Если максимальный элемент массива А больше минимального элемента массива В, поменять данные элементы местами - C++
Задача, вроде, не сложная, может есть у кого готовая такая? Мне её на разбор надо.. Помогите, пожалуйста. Именно целиком всё, по частям я...

Прокомментируйте программу: поменять местами максимальный и минимальный элемент массива - C++
можете объяснить эту прогу #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; int...

поменять местами первый и последний элемент, второй и предпоследний и так далее - C++
Задан масив целых чисел.Распечатать преобразованный массив: поменять местами первый и последний элемент, второй и предпоследний и так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru