Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
1

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

02.06.2019, 19:09. Показов 1147. Ответов 1
Метки нет (Все метки)

Добрый вечер.
Мой знакомый написал программу для определения максимального и минимального элемента массива.
Но он не может разобраться, что нужно изменить/дописать в коде, чтобы программа изменяла в одномерном массиве местами первый элемент с минимальным, а последний с максимальным.
(Задача: Написать программу, меняющую в одномерном массиве местами первый элемент с минимальным, а последний с максимальным. При вводе/выводе элементов использовать индексы, а обработку элементов массива осуществлять с помощью указателей. Расчет должен производиться в функции, в которую массив передается по указателю)
Что нужно изменить? Буду рад помощи от вас, опытные программисты. Спасибо заранее

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
#include <iostream>
#include <ctime>
 
void max_min(int *m, int& max, int& min, int n)
{
    max = min = m[0];
    int max_id=0, min_id=0;
    for (int i = 0; i < n; ++i)
    {
        if (m[i] > max) { max = m[i]; max_id = i;}
        if (m[i] < min) { min = m[i]; min_id = i;}
    }
    max = max_id;
    min = min_id;
}
 
int* generate(int n)
{
    int *mas = new int[n];
    for (int i = 0; i < n; ++i)
    {
        mas[i] = rand()%10;
        std::cout << mas[i] << " ";
    }
    return mas;
}
 
int main()
{
    srand(time(NULL));
    std::cout << "Enter count of elements: ";
    int n;
    std::cin >> n;
    int *mas = generate(n);
    int max, min;
    max_min(mas, max, min, n);
    std::cout << "\nMax index is " << max;
    std::cout << "\nMin index is " << min;
    delete[] mas;
    system("pause>>null");
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2019, 19:09
Ответы с готовыми решениями:

Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения
Дан массив С, состоящий из N элементов (N &lt;10). Поменять местами первый элемент массива с...

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

Поменять первый и последний элемент массива
Всем привет,начал изучать Паскаль совсем не давно,кому не сложно помогите! При компиляции выдает...

Поменять местами первый элемент массива с максимальным
Требуется поменять местами первый элемент массива с максимальным.

1
4339 / 2397 / 995
Регистрация: 07.02.2019
Сообщений: 6,288
02.06.2019, 19:30 2
Лучший ответ Сообщение было отмечено ExortSS как решение

Решение

ExortSS,
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
#include <iostream>
#include <ctime>
 
void max_min(int *m, int& max, int& min, int n)
{
    max = min = 0;
    for (int i = 1; i < n; ++i)
    {
        if (m[i] > m[max]) max = i;
        if (m[i] < m[min]) min = i;
    }
}
 
int* generate(int n)
{
    int *mas = new int[n];
    for (int i = 0; i < n; ++i)
    {
        mas[i] = rand() % 10;
        std::cout << mas[i] << " ";
    }
    return mas;
}
 
int main()
{
    srand(time(NULL));
    std::cout << "Enter count of elements: ";
    int n;
    std::cin >> n;
    int *mas = generate(n);
    int max, min;
    max_min(mas, max, min, n);
    std::cout << "\nMax index is " << max;
    std::cout << "\nMin index is " << min << std::endl;
    std::swap(mas[0], mas[min]);
    std::swap(mas[n - 1], mas[max]);
    for (int i{}; i < n; ++i)
        std::cout << mas[i] << " ";
    delete[] mas;
    system("pause>>null");
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2019, 19:30

Поменять местами первый и последний элемент массива
Доброго времени суток. Столкнулся с проблемой при написании программы (работа с классами):...

Поменять местами первый и последний элемент массива
Здравствуйте!! В одномерном массиве поменять местами i и j элементы, например, было: 1 2 3 4 5,...

Поменять местами первый элемент массива с минимальным элементом
3.массив из 12 элементов,заполнен рандомно числами от -50 до 50.поменять местами первый элемент...

Поменять местами последний элемент массива с самым правым максимальным элементом
2. Поменять местами последний элемент массива с самым правым максимальным элементом, а затем...


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

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

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