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

Как складывать числа, если даны только указатели на них?

26.05.2017, 19:55. Показов 1423. Ответов 3
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, стоят задача, в которой требуется передать в функцию указатели на числа типа float и произвести с ними некоторые действия. Указатель - адрес в памяти, и чтобы с ним можно было проводить арифметические операции нужно произвести операцию разыменования, насколько я понимаю. Но это не работает. Можете объяснить, что не так на примере кода ниже?


C++
1
2
3
float *x;
float *y;
float average = (&x + &y)/2;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2017, 19:55
Ответы с готовыми решениями:

Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если положительно одно из них, то увеличить у в
Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если положительно одно из них, то...

Даны числа х,у. Если х и у положительны, то каждое значение заменить его модулем; если положительно только
Даны числа х,у. Если х и у положительны, то каждое значение заменить его модулем; если положительно только одно из них, то оба значения...

Даны действительные числа A, B, C, D. Каждое число заменить наибольшим из них, если выполняется условие
Даны действительные числа A,B,C,D. Если A<=B<=C<=D, то каждое число заменить наибольшим из них; если A>B>C>D, то числа оставить...

3
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
26.05.2017, 20:06
Лучший ответ Сообщение было отмечено Bein как решение

Решение

Цитата Сообщение от Bein Посмотреть сообщение
что не так на примере кода ниже?
&x - это не разименовывание, а получение адреса.
Кроме этого указатели объявлены, но не инициализированы.
Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int sum(int *p1, int *p2) { return *p1 + *p2; }
 
int main()
{
    int a=666, b=42;
    int *pa = &a;
    int *pb = &b;
    std::cout << sum(pa, pb);
    return 0;
}
1
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
26.05.2017, 20:07
Во-первых, не &x + &y , а *x + *y.
Во-вторых, конкретно в вашем примере указатели ведут в никуда.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
26.05.2017, 20:07
C++
1
2
3
float *x = new float(4);
float *y = new float(8);
float average = (*x + *y)/2;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2017, 20:07
Помогаю со студенческими работами здесь

Даны три числа a, b, c. Если хотя бы одно из них равно нулю с погрешностью , то вычислить сумму этих чисел, в противном
Помогите доделать программу. Даны три числа a, b, c. Если хотя бы одно из них равно нулю с погрешностью , то вычислить сумму этих чисел, в...

Даны три числа a, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max(j — a, d — b,
Даны три числа a, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max(j — a, d — b, d — c). C++

Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них
2.Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них (в том числе повторяющиеся). Например, если ...

Даны действительные числа X, Y. Если X, Y. – отрицательны, то каждое значение заменить его модулем;если отрицательно только одно из них, то оба значен
Даны действительные числа X, Y. Если X, Y. – отрицательны, то каждое значение заменить его модулем;если отрицательно только одно из них, то...

Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных
Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru