|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/С++ | Прошу помочь в написании кода... |
|
|
C/С++ | Прошу помочь в написании кода...
|
![]() Пользователь Сообщения: 54 |
У меня получилось вот такое:
#include <stdio.h> #include <math.h> int main() { double A, YM, H, C, X, D, Y; int j;/*j - это шаг функции, ведь может бытьот 0 до 15 значений функции вообще*/ /*A- ввод */ printf ("A="); scanf ("%lf", &A); /*H - ввод */ printf ("H="); scanf ("%lf", &H); /*C - ввод */ printf ("C="); scanf ("%lf", &C); /*YM - ввод */ printf ("YM="); scanf ("%lf", &YM); /* показать - "argument | funktsion" */ printf ("argument | funktsion"); /* показать - горизонтальную черту*/ printf ("___________________"); /* Operation X = A */ X=A; /* Operation D = H */ D=H; /* Operation j = 0*/ j=0; while (j<15) { /* показать - X, " | " */ printf ("X,|"); } if(j<=15) { /* Operation X = X + D */ X=X+D; /* Operation D = D * C */ D=D*C; /* Operation j = j + 1 */ j=j+1; if (X<=0); { printf ("Y=undefined"); } if (atan(X)<=0); { printf ("Y=undefined"); } for( j=0; j<=15) if(Y > YM) break; /* Y =ln(atan x*sin 5x) + SQRT(3x*x*x)*/ printf ("Y=ln(atan(X)*sin(5*X) + sqrt(3*X*X*X )\n"); } }; дается A - начальное значение аргумента X YM - максимальное значение функции Y H – шаг функции С - коэффициент Х вычисляется по формуле A, A + H, A + H + C*H, .... функция дана для вычисления Y тобишь вычисляется для каждого шага X а потом для него Y и выводятся значения покуда Y не превысит YM, но всего не больше, чем 15 значений функции. Сама функция: ___ y = ln( atan x sin 5x) + Ö3x3 Вертикальная черта отделяет x от y, горизонтальная черта отделяет их от самих значений. Выполняется в консоли. Вроде бы не сложно, но я всеж начинающий... :-) поэтому хотелось бы узнать, правильно ли программа составлена.... пытался компилировать... компилится, вроде ошибок нет так как исправлял, но .exe файла не создается, видно, что-то с компилятором, Вроде все описал... |
|
------- Отправлено: 21:06, 29-10-2005 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать Sox
То, что сразу видно : 1) убери точки с запятой на концах строк : if (X<=0); и if (atan(X)<=0); 2) функция по-английски function бррр... а как это вообще работает ? j = 0; while (j < 15) { printf ("X,|"); } вечный цикл однако |
Отправлено: 21:52, 29-10-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать 1)Убрал, 2)исправил...
Цитата:
![]() вроде как j=0 - это предварительное присваивание значения... может, каккую-нибудь проверку здесь надо вставить? Или, может, j:=j+1 перенести выше к j=0 надо?( скорее всего)... |
|
------- Последний раз редактировалось Sox, 29-10-2005 в 22:26. Отправлено: 22:06, 29-10-2005 | #3 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать 3) ln(x) = log(x)
4) for( j=0; j<=15) <- красиво написал, если б точку с запятой не забыл был бы еще один бесконечный цикл Пробуем так: while (j < 15) { /* показать - X, " | " */ printf ("\n%01.2f | ", X); /* Operation X = X + D */ X = X + D; /* Operation D = D * C */ D = D * C; /* Operation j = j + 1 */ j ++; if ((X < 0) || (atan(X) * sin(5*X) <= 0)) { printf ("Y undefined"); continue; } Y = log(atan(X)*sin(5*X)) + sqrt(3*X*X*X); if (Y > YM) { printf("Y too high , exiting ;-)"); break; } printf ("Y = %01.2f", Y); } getch(); |
Отправлено: 22:27, 29-10-2005 | #4 |
![]() Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Щас попробуем... на вид смотрится более солидно, чем у меня в начале было... :-)
|
|
------- Отправлено: 22:32, 29-10-2005 | #5 |
![]() Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать хм... то есть только с простыми логарифмами? А с натуральными?
%01.2f - как-то помню, нам про такое рассказывали несклько недель назад, только я пива тогда много выпил, не помню что это значит... вроде f - число с плавающей точкой, 1- число цифр в целой части, .2 - в дробной... и что такое getch()? А в принципе БОЛЬШОЕ СПАСИБО! :-) |
------- Отправлено: 22:49, 29-10-2005 | #6 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать Функции ln() в С нет, а роль натурального логарифма исполняет функция log(). А например log10() считает десятичный логарифм. Функция getch() (кстати она из conio.h , забыл сказать) прерывает выполнение программы, пока пользователь не нажмет какую-нибудь клавишу (удобно для просмотра результатов работы).
|
Отправлено: 22:55, 29-10-2005 | #7 |
![]() Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать хм... а можно написать это так:
if (atan(X) * sin(5*X) <= 0) { printf ("Y undefined"); continue; } if (atan(X)<=0) { printf ("Y=undefined"); continue; } if (sin(5*X)<=0) { printf ("Y=undefined"); continue; } if (X<=0); { printf("Y=undefined"); continue; } Как бы вроде смысл от этого не меняется, вроде... |
------- Последний раз редактировалось Savant, 30-10-2005 в 12:32. Отправлено: 00:08, 30-10-2005 | #8 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 12:31, 30-10-2005 | #9 |
![]() Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Ясно, спасибо...
![]() только вот еще один вопрос возник: Цитата:
|
|
------- Последний раз редактировалось Sox, 30-10-2005 в 14:11. Отправлено: 12:54, 30-10-2005 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Прошу помочь | evm180 | Лечение систем от вредоносных программ | 23 | 24-02-2009 08:35 | |
Очень прошу помочь... | aviss | Выбор отдельных компонентов компьютера и конфигурации в целом | 6 | 09-08-2008 23:26 | |
Интерфейс - Прошу помочь со стайлбулдером ! | Tanr | Хочу все знать | 1 | 25-04-2008 19:36 | |
Прошу помочь в выборе конфигурации) | r0mk | Выбор отдельных компонентов компьютера и конфигурации в целом | 35 | 04-07-2006 17:29 | |
DRVSPACE. Очень прошу помочь! | dima123 | Microsoft Windows 95/98/Me (архив) | 3 | 27-02-2005 16:35 |
|