Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Переводы величин (разные)

Поиск:
Градусы, минуты, секунды - в градусы

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Translating angle from degrees, minutes, seconds to degrees
//  (c) Johna Smith, 1996
//
//  Method description:
//    Here we just use the following formula:
//      phi=(phi"/60+phi')/60+phiш
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>

struct angle
{
  float degrees;
  float minutes;
  float seconds;
};

void print_angle(angle a)
{
  printf("%fш%f'%f"",a.degrees,a.minutes,a.seconds);
}

float dms_to_d(angle a)
{
  float f;

  f=(a.seconds/60+a.minutes)/60+a.degrees;

  return f;
}

void main(void)
{
  angle a={30,30,30};

  print_angle(a);
  printf("= %fш",dms_to_d(a));
}



Градусы - в градусы, минуты, секунды

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Translating angle from degrees to degrees, minutes, seconds
//  (c) Johna Smith, 1996
//
//  Method description:
//    degrees is the integer part of angle f
//    minutes is the integer part of the remainder multiplied by 60
//    seconds is the integer part of 60*(phi_in_minutes-phi')
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>

struct angle
{
  float degrees;
  float minutes;
  float seconds;
};

void print_angle(angle a)
{
  printf("%fш%f'%f"",a.degrees,a.minutes,a.seconds);
}

angle d_to_dms(float f)
{
  angle a;

  a.degrees=(int)f;
  a.minutes=(int)((f-a.degrees)*60);
  a.seconds=(int)((f-a.degrees)*60-a.minutes);

  return a;
}

void main(void)
{
  printf("12.3456ш=");
  print_angle(d_to_dms(12.3456));
}




Комплексных величин - в экспоненциальную форму

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Complex values operations (converting from a+bi form to M*exp(i*phi))
//  (c) Johna Smith, 1996
//
//  Given: z - complex value
//  z=a+i*b
//  z=M*exp(i*phi)
//  M=(a^2+b^2)^(1/2)    phi=arccos(a/|M|)
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

struct complex
{
  float re;
  float im;
};

struct exp_complex
{
  float M;
  float phi;
};

void show_complex(complex c) // this functions displays complex value
{
  printf("%f%+fi",c.re,c.im);
}

void show_exp_complex(exp_complex c) // this functions displays complex value
{
  printf("%f*exp(%f*i)",c.M,c.phi);
}

exp_complex Convert(complex a)
{
  exp_complex b;

  b.M=sqrt(a.re*a.re+a.im*a.im);
  b.phi=(a.im<0?-1:1)*acos(a.re/fabs(b.M));

  return b;
}

complex a={-1,1};

void main(void)
{
  show_complex(a);
  printf(" = ");
  show_exp_complex(Convert(a));
}


Градусы по Фаренгейту - в градусы по Цельсию

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Translatintg Farengheit degrees to Celsy degrees and in other direction
//  (c) Johna Smith, 1996
//
//  Method description:
//
//    oF = 5/9(n-32) oC     oC = (32+9n/5) oF
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>

float Cels2Fareng(float degree)
{
  return (5*(degree-32)/9);
}

float Fareng2Cels(float degree)
{
  return (32+9*degree/5);
}

void main(void)
{
  printf("100oC = %f oFn",Cels2Fareng(100));
  printf("-50oF = %f oCn",Fareng2Cels(-50));
}


Сайт: forum.vingrad.ru






Просмотров: 2688

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную