Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 3

Есть три переменные. Используя указатели на указатели, поменять значение максимальной и минимальной переменной

12.03.2016, 12:52. Показов 2322. Ответов 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
#include <iostream>
#include <stdlib.h>
#include<iomanip>
using namespace std;
 
 
void min_max(int*pa, int*pb, int*pc);
    
void main(){
    int a = 1, b = 1,c = 1;
    int*pa = &a, *pb = &b, *pc = &c;
    cout << a << b << c;
    min_max(pa, pb, pc);
    cout << a << b << c;
 
    system("pause");
}
 
void min_max(int*pa, int*pb, int*pc){
    int*max = 0, *min = 0, tmp;
    if (*max < *pa)
        *max = *pa;
    if (*max < *pb)
        *max = *pb;
    if (*max < *pc)
        *max = *pc;
    if (*min > *pa)
        *min = *pa;
    if (*min > *pb)
        *min = *pb;
    if (*min > *pc)
        *min = *pc;
    tmp = *max;
    *max = *min;
    *min = tmp;
}
При компиляции получаю - frames below may be incorrect and/or missing no symbols loaded for kernel32.dll.
P.S. Только начал изучать С++, с указателями еще не разобрался. Укажите пожалуйста в чём ошибка.

Добавлено через 17 минут
уже вижу что напутал с указателями на указатели


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
#include <iostream>
#include <stdlib.h>
#include<iomanip>
using namespace std;
 
 
void min(int**ppa,int**ppb,int**ppc);
 
void main(){
    int a=1,b=2,c=3;
    int*pa=&a,*pb=&b,*pc=&c;
    int**ppa=&pa,**ppb=&pb,**ppc=&pc;
    cout<<a<<b<<c;
    min(ppa,ppb,ppc);
    cout<<a<<b<<c;
    system("pause");
}
    
void min(int**ppa,int**ppb,int**ppc){
    int **max = 0, **min = 0;
 
    if(**max<**ppa)
        **max=**ppa;
    if(**max<**ppb)
        **max=**ppb;
    if(**max<**ppc)
        **max=**ppc;
    if(**min>**ppa)
        **min=**ppa;
    if(**min>**ppb)
        **min=**ppb;
    if(**min>**ppc)
        **min=**ppc;
    int tmp;
    tmp=**max;
    **max=**min;
    **min=tmp;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2016, 12:52
Ответы с готовыми решениями:

В matlab есть указатели на переменные или что-нибудь похожее на указатели?
Здравствуйте, в matlab есть указатели на переменные? или что-нибудь похожее на указатели? нужно хранить в объекте информацию: на...

Используя нетипизированные указатели и указатели на подпрограммы обобщить сортировку пузырьком
Смысл задания в том, что нужно отсортировать массив структур из 3х полей по сумме координат есть структура struct XYZ{ ...

Выполнить обмен значениями двух переменных используя указатели на эти переменные
Выполнить обмен значениями двух переменных используя указатели на эти переменные.

2
62 / 62 / 55
Регистрация: 18.10.2014
Сообщений: 190
12.03.2016, 13:03
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
#include <iostream>
#include <stdlib.h>
#include<iomanip>
using namespace std;
 
void min_max(int*pa, int*pb, int*pc);
    
void main(){
    int a = 2, b = 1,c = 3;
    int*pa = &a, *pb = &b, *pc = &c;
    cout << a << b << c<<endl;
    min_max(pa, pb, pc);
    cout << a << b << c;
 
    system("pause");
}
 
void min_max(int*pa, int*pb, int*pc){
    int*max , *min, tmp;
    max=min=pa;//указываем на первое число ,если 0 то не правильно так как в проверка мб такое что нет 0
    if (*max < *pb)//проверяем на след 2 числа
        max = pb;//указывает если максим
    if (*max < *pc)//тоже самое
        max = pc;
    if (*min > *pb)//проверка на минимум
        min = pb;//указывает на минимум 
    if (*min > *pc)//
        min = pc;
    tmp = *max;//меняем местами
    *max = *min;
    *min = tmp;
}
1
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 3
12.03.2016, 13:10  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2016, 13:10
Помогаю со студенческими работами здесь

Поменять строки местами, используя указатели
Доброго времени суток! Такое дело: имеется двумерный массив char (массив строк в общем-то). Необходимо поменять местами 2 элемента,...

Поменять элементы массива местами используя указатели
Указатель не должен менять своего значения

Поменять местами элементы двух массивов (используя указатели)
Помогите с заданием : поменять местами элементы 2х массивов c++. Нужно сделать с использование указателей.

Как поменять первый символ с последним в строке используя указатели?
Здравствуйте. Подскажите пожалуйста, как поменять первый символ с последним в строке используя указатели? С массивом понятно, а...

Поменять местами элементы массива с четными и нечетными индексами используя указатели
Поменять местами элементы массива с четными и нечетными индексами используя указатели Ну вот не знаю как сделать, честно... Мой...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru