Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Nordica
0 / 0 / 0
Регистрация: 11.01.2015
Сообщений: 34
1

Найти первый максимальный элемент и поменять его местами с последним элементом массива

31.03.2015, 19:54. Просмотров 573. Ответов 1
Метки нет (Все метки)

Задача: Сформируйте массив из 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
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
#include <iostream>
#include <stdlib.h>
using namespace std;
 
void Init(int a[], int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << "Ââåäèòå ÷èñëî: ";
        cin >> a[i];
    }
}
void print(int *a, int size)
{
    cout << "Г‚Г*Гё Г¬Г*Г±Г±ГЁГў:  ";
    for (int j = 0; j < size; j++, a++)
        cout << *a << "\t";
    
}
void bubbleSort(int a[], int size)
{
    int temp;
    for (int i = size - 2; i >= 0; i--)
        for (int j = 0; j <= i; j++)
            if (a[j]>a[j + 1])
            {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
}
int sum(int *a, int size)
{
    int sum = 0;
 
    for (int i = 0; i < size; a++, i++)
    {
        if (i % 2!=0)
            sum += *a;
    }
    return sum;
    
}
 
 
int main()
{
    setlocale(LC_ALL, "rus");
    const int size = 6;
    int a[size];
    
    Init(a, size);
    print(a, size);
    bubbleSort(a, size);
    sum(a, size);
    cout << "\n ÑóììГ* ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* ñòîÿùèõ Г*Г* Г*ГҐГ·ГҐГІГ*ûõ ìåñòГ*Гµ: " << sum(a, size)<< "\n";
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2015, 19:54
Ответы с готовыми решениями:

Найти максимальный по абсолютной величине элемент и поменять его местами с последним элементом матрицы
&quot;Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти...

Массивы. Найти максимальный элемент и поменять его с последним элементом массива
Задан двухмерный массив целых чисел A. Найти максимальный элемент и поменять его с последним...

Найти максимальный элемент матрицы и поменять его с последним элементом массива
Задан двумерный массив целых чисел A. Найти максимальный элемент и поменять его с последним...

Найти максимальный и минимальный элемент в каждой строке массива и поменять местами с первым и последним элементом
Дана матрица M*N. Нужно найти максимальный и минимальный элемент в каждой строке массива и поменять...

Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним
ДВУМЕРНЫЙ МАССИВ: Поменять местами максимальный элемент матрицы F(k,p)в его первым элементом, а...

1
Boleon
Guardian of Asgaard
373 / 316 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
31.03.2015, 21:07 2
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
#include <iostream>
 
void insertSort(int a[], int n) {
    int temp;
    
    for (int i = 0, last = n-1; i < last; i++) {
        temp = a[i + 1]; 
        int j = i;     
        while (j >= 0 && a[j]>temp) {
            a[j + 1] = a[j]; 
            j--;        
        }
        a[j + 1] = temp;   
    }
}
 
int main() {
    int size = 6;
    int array[size];
    int max = 0;
    int sum = 0;
    int temp;
    
    for ( int i = 0; i < size; i++ ) {
        std::cout << "array[" << i << "]=";
        std::cin >> array[i];
        if (array[max] < array[i]) max = i;
    }
    
    for ( int i = 1; i < size; i += 2 ) {
        sum += array[i];
    }
 
    std::cout << "\n" << "Odd sum: " << sum << std::endl;
    std::cout << "\n" << "Max: array[" << max << "]=" << array[max] << std::endl;
    
    temp = array[max];
    array[max] = array[size-1];
    array[size-1] = temp;
    
    for ( int i = 0; i < size; i++ ) {
        std::cout << array[i] << " ";
    }
    std::cout << std::endl;
    
    insertSort(array, size);
    
    for ( int i = 0; i < size; i++ ) {
        std::cout << array[i] << " ";
    }
    
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2015, 21:07

Найти максимальный элемент и поменять его местами со вторым элементом массива
Зраствуйте, нужно срочно решение задачи по С++ Найти максимальный элемент и поменять его местами...

Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним
Здравствуйте. Помогите пожалуйста написать программу: для поиска минимального и максимального...

Найти максимальный элемент массива и поменять его местами с первым положительным элементом
Здравствуйте. Есть задание Дан массив чисел а0, а1, …, а15. Найти максимальный элемент этого...


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

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

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