Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2013, 19:58   #1
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию Указатели

Язык Си.
Используя вместо самой переменной указатель на нее написать программу в соответствии с заданием:
Вычислить y = |x-cos(x)|.
Подскажите, как с указателями это записать.

Последний раз редактировалось Alexandr-; 16.03.2013 в 20:30.
Alexandr- вне форума Ответить с цитированием
Старый 16.03.2013, 20:08   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Код:
y^:=abs(x^ - cos(x^))
Вадим Мошев вне форума Ответить с цитированием
Старый 16.03.2013, 21:51   #3
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию

А можно в Си если не сложно.
Alexandr- вне форума Ответить с цитированием
Старый 16.03.2013, 22:10   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

*y=abs(*x - cos(*x))
Rififi вне форума Ответить с цитированием
Старый 16.03.2013, 22:55   #5
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{ float *x,*y;
printf ("vvedite x\n");
scanf ("%f",&x);
*y=abs(*x-cos(*x));
printf ("y=%f", *y);
getch (); }
А что не правильно, тогда в данном коде?
Alexandr- вне форума Ответить с цитированием
Старый 16.03.2013, 23:07   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

А какие проблемы возникают?

Ну, я бы посоветовал написать так:
Цитата:
int main ()
Вадим Мошев вне форума Ответить с цитированием
Старый 16.03.2013, 23:15   #7
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию

Когда ввожу число программа просто с ошибкой вылетает.
Alexandr- вне форума Ответить с цитированием
Старый 16.03.2013, 23:20   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО вместо scanf ("%f",&x); нужно scanf ("%f",x);
Плюс ко всему для *x,*y ты не запросил память.
Так примерно:
Код:
float *x=(float*)malloc(sizeof(float)),*y=(float*)malloc(sizeof(float));
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.03.2013, 23:23   #9
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Alexandr-, у вас x и y не переменный типа float, а указатель на переменную типа float. Т.е памяти там нет. Поэтому и ошибка. Решение:
1) использовать вместо указателей переменные;
2) захватить память динамически (читайте про функцию malloc).
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели spinogryz_ua Visual C++ 1 01.10.2012 14:59
C++ УКАЗАТЕЛИ Scarletred Общие вопросы C/C++ 1 24.05.2010 01:56
Указатели @Manya@ Общие вопросы C/C++ 4 17.05.2010 13:53
Указатели GrihaI Общие вопросы C/C++ 11 06.05.2010 18:53
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39