IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Помогите найти ошибку в очень простой программе, Турбо Си
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Надо написать программу расчёта по 2 формулам!Результаты вычислений по 2 формулам должны совпадать! Прогу написал, но она неправильно считает значения выражений!И как можно сделать, чтобы предложение ввести значение а начиналось с новой строки??? !help.gif

#include <stdio.h>
#include <math.h>
# define pi 3.14115926
float z1, z2;
int main()
{ float a;
printf("Vvedite znachenie a : ");
scanf("%f", &a);
z1=cos(3/8*pi-a/4)*cos(3/8*pi-a/4)-cos(11/8*pi+a/4)*cos(11/8*pi+a/4);
z2=sqrt(2)/2*sin(a/2);
printf("z1=%8.5f z2=%8.5f",z1, z2);
}


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(Neon6868 @ 22.03.2007 20:06) *
И как можно сделать, чтобы предложение ввести значение а начиналось с новой строки??? !help.gif
Проверь формулы...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Neon6868,
как ты думаешь, чему будет равно вычисление 3/8*pi по твоему методу?
Попробуй сначала ответить сам, а потом добавить вот это:
printf("\n%f", 3/8*pi)
, чтобы проверить правильно или нет... Не догадаешься почему это происходит - объясню...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Я исправил, но всё равно программа неправильно считает значения выражения.
Вот программа:
#include <stdio.h>
#include <math.h>
# define pi 3.14115926
float z1, z2;
int main()
{ float a;
printf("\n Vvedite znachenie a : ");
scanf("%f", &a);
z1=cos(3./8.*pi-a/4.)*cos(3./8.*pi-a/4.)-cos(11./8.*pi+a/4.)*cos(11./8.*pi+a/4.);
z2=sqrt(2.)/2.*sin(a/2.);
printf("z1=%8.5f z2=%8.5f",z1, z2);
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Да приведи же формулы-то сами... Что ты высчитываешь?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Андрей

Репутация: -  0  +


ты в курсе что там в радианах считается ? ))


--------------------
Студент (:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Цитата(Алена @ 23.03.2007 0:38) *

Да приведи же формулы-то сами... Что ты высчитываешь?


Формулы внизу в файле!!! Надо делать 7 вариант!!!

А как сделать чтобы не в радианах считалось???

Да и в радианах он неправильно считает!Если ввести 1, то он выдаёт результат 0,33901. Я проверил на калькуляторе - там получилось 0,2975.

Сообщение отредактировано: Neon6868 -


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
Я проверил на калькуляторе - там получилось 0,2975.
Плохо проверил - у меня получилось как раз 0.33901 (в первой формуле, при A = 1), а во второй выходит 0.33900

Сообщение отредактировано: Алена -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Андрей

Репутация: -  0  +


Цитата
Я проверил на калькуляторе - там получилось 0,2975

хз как ты считал , пересчитай еще раз , я посчитал и в радианах получилось
0,3389928906764307611867536597567
Написал ее на Си , результат тоже что и в калькуляторе
#include<stdio.h>
#include <math.h>
#include <conio.h>
#define pi 3.14115926
void main()
{
float z1,z2,a,b,c;
clrscr();
printf("Vvedite znachenie A\n");
scanf("%f" , &a);
b = 3 * pi / 8 - a / 4 ;
c = 11 * pi / 8 + a / 4;
z1 = pow(cos(b),2) - pow(cos©,2);
z2 = sqrt(2)/2*sin(a/2);
printf("Z1 = %f \nZ2 = %f " , z1 , z2 ) ;

getch();
}


--------------------
Студент (:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Я значит ошибся! huh.gif А как сделать чтобы результат выводился не в радианах, а в градусах??? Я результат умножил на (180/pi), но тогда ответ получается неправильный!!!!

Сообщение отредактировано: Neon6868 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Андрей

Репутация: -  0  +


вроде никак , запомни радианы круче ))


--------------------
Студент (:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


А если умножить на 180/pi, то разве результат получится не в градусах???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Андрей

Репутация: -  0  +


эээ , незнаю)) теоритически должны получиться


--------------------
Студент (:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Цитата
разве результат получится не в градусах???
Умножить на 180/pi ЧТО? Аргумент тригонометрической функции? Тогда получишь вообще непонятно какой результат... Ибо sin/cos ждут параметра в радианах...

Умножить результат выполнения sin(x) на 180/pi? Ты понимаешь, о чем ты говоришь? Это выходит, что синус или косинус чего-то может быть больше 1? Ложь. Не бывает такого.

Результат вообще получается не в градусах или радианах. Результат - это число. В градусах/радианах измеряются аргументы функций...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.10.2024 23:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name