Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Slim_py
47 / 47 / 42
Регистрация: 17.10.2011
Сообщений: 136
1

Вывести на экран значение указателя Р2 и значение на которое он ссылается

22.02.2012, 20:22. Просмотров 939. Ответов 11
Метки нет (Все метки)

задание таково: Присвоить раз именованному указателю на тип Р1 значение арифметиче-ского выражения АВ включающего указатели на типы Р2 и Р3. Арифметическое выражение реализовать в виде функции возвраща ющей указатель на тип Р1. Вывести на экран значение указателя Р2 и значение на которое он ссылается.
p1 - long int; p2 - unsigned long int; p3 - int
ab = (1/sin(p2))^p3

ошибку выдаёт и не могу с этим разобраться!
помогите плииз

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
   double ab;
   unsigned long int p2=5;
   int p3=3;
 
   long int *pi1; 
   unsigned long int *pi2;
   int *pi3;
 
   pi2=&p2;
   pi3=&p3;
   ab=pow(1/sin(p2),p3);
   pi1=&ab;
   printf("&pi1= %p pi1=%4lf\n",pi1,*pi1);
   getch();
   return 0;
}
ошибка: cannot convert `double*' to `long int*' in assignment
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 20:22
Ответы с готовыми решениями:

Вывести на экран значение указателя Р2 и значение на которое он ссылается
Помогите , пожалуйста... Присвоить раз именованному указателю на тип Р1 значение...

Откуда берется значение указателя после удаления памяти на которую он ссылается?
Всем привет. Почему при удалении памяти указатель еще работает? Пример программы: #include...

Функция возвращает не ссылку а само значение переменной на которое оно ссылается
Скажите пожалуйста есть функция `int&amp; my(){return a} которая возвращает ссылку если возвращаемое...

Вывести на экран номер и значение элементов массива, абсолютное значение которых > 10
Помогите с задачей . Вот условие 3.*Дан одномерный массив размерностью 9, заполненный целыми...

Вывести на экран номер и значение элементов массива, абсолютное значение которых < 15
Сделайте задачу про массивы, по блок-схеме

11
NoMasters
Псевдослучайный
1919 / 1124 / 91
Регистрация: 13.09.2011
Сообщений: 3,188
22.02.2012, 20:30 2
pi1 указывает на long int, а в формате вывода написано %lf, то есть double(кстати, модификатор l к вещественному типу не применяется, только строчное L и это будет long double). Ну и расчет не соответствует заданию, не наблюдаю в 17 указателей.
1
Slim_py
47 / 47 / 42
Регистрация: 17.10.2011
Сообщений: 136
22.02.2012, 20:42  [ТС] 3
NoMasters,
вот вроде исправил но всё-равно ошибка...
что еще не так??
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
   double ab;
   unsigned long int p2=5;
   int p3=3;
 
   long int *pi1; 
   unsigned long int *pi2;
   int *pi3;
 
   pi2=&p2;
   pi3=&p3;
   ab=pow(1/sin(*p2),*p3);
   pi1=&ab;
   printf("&pi1= %Li \n pi1=%Li\n",pi1,*pi1);
   getch();
   return 0;
}
0
vetal10
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
22.02.2012, 20:48 4
C++
1
 ab=pow(1/sin(*p2),*p3);
что ето??зачем тут* ?
0
22.02.2012, 20:48
Slim_py
47 / 47 / 42
Регистрация: 17.10.2011
Сообщений: 136
22.02.2012, 20:51  [ТС] 5
vetal10, разыменованные указатели
0
NoMasters
Псевдослучайный
1919 / 1124 / 91
Регистрация: 13.09.2011
Сообщений: 3,188
22.02.2012, 20:52 6
У ты кладешь в указатель на long int адрес double. Ну и для целых типов в формате модификатор l таки в нижнем регистре в отличие от

Добавлено через 57 секунд
Цитата Сообщение от Slim_py Посмотреть сообщение
разыменованные указатели
ну так ты не к указателям применяешь его как бы
0
Slim_py
47 / 47 / 42
Регистрация: 17.10.2011
Сообщений: 136
22.02.2012, 21:00  [ТС] 7
NoMasters, блииииин капецй какой-то...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
   long int ab;
   unsigned long int p2=5;
   int p3=3;
 
   long int *pi1; 
   unsigned long int *pi2;
   int *pi3;
 
   pi2=&p2;
   pi3=&p3;
   ab=pow(1/sin(*pi2),*pi3);
   pi1=&ab;
   printf("&pi1= %li \n pi1=%li\n",pi1,*pi1);
   getch();
   return 0;
}
вот так вроде, да?
0
vetal10
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
22.02.2012, 21:08 8
C++
1
2
unsigned long int p2=5;
   int p3=3;
не указатели
0
NoMasters
Псевдослучайный
1919 / 1124 / 91
Регистрация: 13.09.2011
Сообщений: 3,188
22.02.2012, 21:11 9
Slim_py, вроде того, хотя нужность промежуточной переменной ab сомнительна.
1
Slim_py
47 / 47 / 42
Регистрация: 17.10.2011
Сообщений: 136
22.02.2012, 21:23  [ТС] 10
NoMasters, в задании так сказано...

Добавлено через 9 минут
NoMasters, а почему ответ такой страшный получается...?
0
stark(O_0)yoopi
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 18
22.02.2012, 21:26 11
А почему нельзя все записать в формате double ?
0
NoMasters
Псевдослучайный
1919 / 1124 / 91
Регистрация: 13.09.2011
Сообщений: 3,188
22.02.2012, 21:27 12
Нормальный ответ, хотя адрес привычней видеть в шестнадцатеричном виде.
0
22.02.2012, 21:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2012, 21:27

Вывести на экран значение t при котором функция x(t) принимает максимальное значение
Объясните, как решить с помощью массива. Только начал изучать C++. Знаю, как вывести максимальный...

Значение наибольшего из трех параметров a, b, c вывести на экран монитора, если это значение >x и <(a+b)
Значение наибольшего из трех параметров a, b, c вывести на экран монитора, если это значение &gt; x и...

Найти значение наибольшего из трех параметров и вывести на экран их сумму, если это значение больше нуля
Найти значение наибольшего из трех параметров a, b, c и вывести на экран монитора сумму a+b+c, если...


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

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

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