0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 41

Поменять местами в последовательности наибольший и наименьший члены с помощью указателей

18.11.2014, 18:51. Показов 754. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано натуральное число https://www.cyberforum.ru/cgi-bin/latex.cgi?n(n\leq 100) и последовательность целых чисел https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{1},{a}_{2},...{a}_{n}
Поменять местами в этой последовательности наибольший и наименьший члены .
Если в последовательности несколько наибольших или наименьших элементов , то
рассматривать последние из таких. Для доступа к элементам массива воспользоваться
указателями.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.11.2014, 18:51
Ответы с готовыми решениями:

Поменять в последовательности местами наибольший и наименьший члены
Разработать программу для решения задачи Даны действительные числа a1,...,a20 (все числа попарно различны). Поменять в этой...

Поменять местами наибольший и наименьший члены последовательности
1 - Разработать программу для решения задачи. Даны действительные числа a1,...,a20 (все числа попарно различны). Поменять в этой...

Поменять в данной последовательности целых чисел местами наибольший и наименьший члены
Поменять в данной последовательности целых чисел местами наибольший и наименьший члены.

4
Guardian of Asgaard
377 / 319 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
18.11.2014, 18:58
находишь в массиве последний min и последний max, и затем меняешь их местами.
0
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 19:22
Цитата Сообщение от vikky Посмотреть сообщение
Для доступа к элементам массива воспользоваться
указателями.
примеры:
C++
1
2
int     mas[3] = {1, 6, 8};
    std::cout << *(mas) << " " << *(mas + 1) << " " << *(mas + 2) << std::endl;
C++
1
2
3
4
5
    int     mas[3] = {1, 6, 8};
    int*    p = mas;
    std::cout << *(p) << " ";
    p = mas + 1;
    std::cout << *(p) << " ";
0
 Аватар для Nosey
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
18.11.2014, 19:41
Еще один пример:

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
#include "stdafx.h"
#include <iostream>
#include <locale>
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::locale::global(std::locale(""));
    std::cout << "Введите N" << std::endl;
    int n = 0;
    std::cin >> n;
    int *nArrayBegin = new int[n];
    int *nArrayEnd = nArrayBegin + n;
    for (int *arValue = nArrayBegin; arValue < nArrayEnd; ++arValue)
    {
        *arValue = rand();//Заполним случайными значениями.
    }
 
    std::cout << "---------- Начальная последовательность" << std::endl;
    for (int *arValue = nArrayBegin; arValue < nArrayEnd; ++arValue)
    {
        std::cout << *arValue << std::endl;
    }
 
    int *min = nArrayBegin;
    int *max = nArrayBegin;
    for (int *arValue = nArrayBegin; arValue < nArrayEnd; ++arValue)
    {
        // Найти последний min и последний max среди массива.
    }
 
    std::swap(*min, *max);// меняешь местами.
 
    std::cout << "---------- Результирующая последовательность" << std::endl;
    for (int *arValue = nArrayBegin; arValue < nArrayEnd; ++arValue)
    {
        std::cout << *arValue << std::endl;
    }
 
    delete[] nArrayBegin;
    
    
    int t;
    std::cin >> t;
    return 0;
}
0
Guardian of Asgaard
377 / 319 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
19.11.2014, 00:53
Если все функции писать самому:
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 <cstdlib>
#include <ctime>
 
using namespace std;
 
void print(int* array, int size) {
    int last = size - 1;
    
    for ( int i = 0; i < last; i++ ) {
        cout << *(array+i) << " ";
    }
    cout << *(array+last) << endl;
}
 
void swap(int* array, int size) {
    int temp;
    int min = 0;
    int max = 0;
    
    for ( int i = 0; i < size; i++ ) {
        if ( *(array+min) >= *(array+i) ) {
            min = i;
        }
        if ( *(array+max) <= *(array+i) ) {
            max = i;
        }
    }
    temp = *(array+min);
    *(array+min) = *(array+max);
    *(array+max) = temp;
    
    print(array, size);
}
 
void randomize(int size) {
    int array[size];
    
    srand(time(NULL));
    
    for ( int i = 0; i < size; i++ ) {
        *(array+i) = rand() % 100;
    }
    print(array, size);
    swap(array, size);
}
 
int main() {
    int n;
    
    cin >> n;
    
    if ( n <= 100 ) {
        randomize(n);
    }
    
    return 0;
}
Code
1
2
3
4
5
6
@input:
20
 
@output:
17 85 38 85 94 63 65 80 34 39 56 26 13 43 0 0 58 40 11 47 
17 85 38 85 0 63 65 80 34 39 56 26 13 43 0 94 58 40 11 47
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2014, 00:53
Помогаю со студенческими работами здесь

Поменять в последовательности местами наибольший и наименьший, наибольший и последний члены
Даны действительные числа а1...а20 (все числа попарно различны). Поменять в этой последовательности местами: а) наибольший и наименьший...

Поменять в последовательности местами наибольший и наименьший члены
Даны действительные числа а1,...,а20(все числа попарно различны).Поменять в этойпоследовательности местами: Найбольший и найменьший члены...

В последовательности поменять местами наибольший и наименьший члены
Даны натуральные x1, x2, ..., xn (все числа попарно различны). Поменять местами в этой последовательности наибольший и наименьший члены....

Одномерные массивы. В последовательности поменять местами наибольший и наименьший члены
в последовательности a0,a1,..,an поменять местами наибольший и наименьший члены

Массив: Поменять местами наибольший и наименьший члены массива...
Даны действительные числа a1...a20(все попарно различны).Поменять найбольший и найменьший члены Если можно сделать как для обычных...


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

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

Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний. Структура "электронный Buttom Up"
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru