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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2013, 20:13   #1
Соні
 
Регистрация: 25.09.2013
Сообщений: 8
Лампочка не могу понять

привет,

задали вот такую задачу:

"Создать функцию для вычисления длин диагоналей параллелограмма, заданного длинами смежных сторон и углом между ними в градусах. Использовать эту функцию для вычисления длин диагоналей трех параллелограммов. Данные о параллелограммы вводит пользователь."

написала программу,но пока что только для одного параллелограмма

#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;

void D(float a, float b, float k, float &d1, float &d2)
{
d1=sqrt(a*a+b*b-a*b*cos(k*M_PI/180));
d2=sqrt(a*a+b*b-a*b*cos((180-k)*M_PI/180));
}

int main(int argc, char *argv[])
{
float a,b,k,D1,D2;
printf("a b k =");
scanf("%f%f%f",&a,&b,&k);

D(a, b, k, D1, D2);
printf("D1= %.2f D2= %.2f\n", D1, D2);

system("PAUSE");
return EXIT_SUCCESS;
}


все работает, но надо сделать с помощью указателя,но у меня не получается

подскажите или нашите как правильно
Соні вне форума Ответить с цитированием
Старый 25.09.2013, 22:29   #2
Кащей
Форумчанин
 
Аватар для Кащей
 
Регистрация: 09.07.2013
Сообщений: 249
По умолчанию

void D(float a, float b, float k, float &d1, float &d2) ==========> void D(float a, float b, float k, float *d1, float *d2)

Если ето указатель на переменные, обращаемся к значению через *d1, пример float a = 2.0 + *d1.
Передаём указатель функции принимающей указатель как d1 без спецсимволов, пример D(a, b, 1.4, d1, d2).
При передаче переменной функции принимающей указатель, передаём адрес этой переменной как &D1, пример D(a, b, k, &D1, &D2);.
Для себя желательно приписывать буковку p к указателю или как либо иначе обозначить в имени что он pointer. Пример FILE* fp; (file pointer).
do not use your brain
Кащей вне форума Ответить с цитированием
Старый 26.09.2013, 00:24   #3
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Зачем Вам смесь C и C++...
Компилятор такое пропустит, но другие программисты вряд ли...
Igor95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу понять Fantomka92 Общие вопросы C/C++ 4 27.11.2011 18:32
не могу понять... svoi92 Помощь студентам 1 08.02.2011 14:51
не могу понять... Dutchman Паскаль, Turbo Pascal, PascalABC.NET 4 14.12.2006 07:14