Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
uljana
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
#1

Табулирование математической функции в Dev C++ - C++

30.11.2008, 20:43. Просмотров 3195. Ответов 4
Метки нет (Все метки)

очень нужно чтобы кто-нибудь сказал, почему код не работает?? очень на вас надеюсь!


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <conio.h> 
#include <math.h>
int Va, S, N, i, maaramata; 
float x, y; 
 
void start(){
printf("funktsiooni arvutamine \n");
printf("y=2*x^(3/4)/(1+x)^(1/2)+3/(8-x^3) \n");
}
 
void lugemine(){
printf("sisesta algvaartus Va: \n");
scanf("%d", &Va);
printf("sisesta samm S: \n");
scanf("%d", &S);
printf("sisesta sammude arv N: \n");
scanf("%d", &N);
}
 
void arvutamine(){
i=0;
while (i<=N);
{
x=Va+S*i;
if ((1+x)<=0)
{
y = maaramata;
}
else if (x>2)
{
y = maaramata;
} 
else
{
y=2*pow(x,(3/4))/sqrt(1+x)+3/(8-pow(x,3));
}
i++;
}
}
 
void tulemus(){
i=0;
printf("\n x | y \n");
while (i<=N);
{
if ((1+x)<=0 || (x>0))
{
printf("\n %f | maaramata \n", x,y);
}
else
{
printf("\n %f | %f \n", x,y);
}
i++;
}
 
}
 
int main(void){
start();
lugemine();
arvutamine(); 
tulemus();
 
printf("press any button...");
getch(); 
 
return 0; 
}
maaramata = неопределена
lugemine = чтение данных
arvutamine = вычесление
tulemus = результат, выведение
algvaartus Va: начальное знач
samm S: шаг
sammude arv число шагов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2008, 20:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Табулирование математической функции в Dev C++ (C++):

Табулирование заданной функции и определение максимального и минимального значения функции в таблице - C++
Разработать консольное приложение, производящее табулирование заданной функции и определение максимального и минимального значения функции...

вычисление математической функции exp(x) - C++
составил алгоритмы: алг Общ (арг вещ Х, арг цел N, рез вещ S) нач | если N = 0 | | то S:=1 | | иначе S:=Общ(X, N-1)*X/N...

Задача на нахождение математической функции - C++
Встал на данном этапе, не пойму как дальше обрабатывать данные задачи и для чего вообще нужна переменная k, как именно она участвует в...

Написать приложение, которое строит график математической функции y=f(x) - C++
Добрый день, коллеги! Столкнулся с задачей, в которой испытываю затруднения. Ранее не сталкивался с подобным, т.к. не дошёл ещё до таких...

Табулирование функции - C++
Рассчитать значения данной функции x3cos(x+3) при изменении аргумента х на интервале с шагом h. Интервал и шаг задайте самостоятельно.

Табулирование функции. - C++
Вычислить значение функции с шагом h. Результат представить в виде таблицы, первый столбец которой - значения аргумента, второй-...

4
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
01.12.2008, 01:33 #2
Код
void arvutamine(){
i=0;
while (i<=N);// Бесконечный цикл .
1. у вас бесконечный цикл
2. программа не заработает все равно.Я не сильно вник логику,т.к без комментариев и на чужом языке это слишком долго.
3. Если бы не ваша привлекательность,даже смотреть бы не стал. Все-таки,переводить по мини-словарю - чесслово долго и муторно.
к советам:
1.Программу нужно переписать полностью.Ваши функции тут как мертвому припарка.
Функции не должны работать с глобальными переменными за очень редким исключением. С таковым исключением вы врядли встретитесь в своей практике.Передавайте параметры.
2.часть подсчета и вывода следует совместить. Поскольку цель программы вывести таблицу - делайте таблицу. У вас здесь,как я понял,есть желание N значений запихать в одну переменную... Это,увы.... не в ваших силах.
или,скажем y = maaramata....не бывает в программировании понятия "неопределенность". Есть память,в ней значение.В вашей маарамате оно тоже есть и,быть может,равно,скажем,нулю.Тогда все ваши значения 0 будут интерпретироваться как неопределенные.

В общем,расписывать можно долго.Вам еще работать и работать ) удачи)
P.S в след. раз,будте добры,переведите исходник. лично я больше копаться не буду.

Добавлено через 2 минуты 43 секунды
Поскольку тут много набралось ошибок серьезных и не очень,я не все написал,и что-то скорее всего не ясно.Уточняйте.
0
uljana
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
01.12.2008, 02:01  [ТС] #3
XuTPbIu_MuHTAu, спасибо большое за внимание. в этом у меня и проблема, что никто ничего не объясняет в университете а задания дают словно мы всё это уже знаем, вот и приходится с книжкой, по примерам, а хорошую книгу ещё и не найти, отсюда такой корявый код : )
ещё раз спасибо!
0
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
01.12.2008, 09:06 #4
Цитата Сообщение от uljana Посмотреть сообщение
очень нужно чтобы кто-нибудь сказал, почему код не работает?? очень на вас надеюсь!
Просто по коду, помочь бывает сложно, поэтому желательно писать в чем состоит задача программы, и что именно не работает (не компилируется, вылетает, выдает не то что нужно). Тогда вам легче будето помочь.
0
uljana
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
11.12.2008, 13:46  [ТС] #5
вот как это должно выглядеть, если вдруг кому надо : ) конечно это можно всё упростить, но нам надо было именно так, полным кодом. всем спасибо за то что не проходили мимо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <math.h>
int i;
float Va, S, N, maaramata; 
float x[100], y[100]; 
 
void start(){
     printf("funktsiooni arvutamine \n");
     printf("y=2*x^(3/4)/(1+x)^(1/2)+3/(8-x^3) \n");
     }
     
void lugemine(){
     printf("sisesta algvaartus Va: ");
     scanf("%f", &Va);
     printf("sisesta samm S: ");
     scanf("%f", &S);
     printf("sisesta sammude arv N: ");
     scanf("%f", &N);
     }
 
void arvutamine(){
     i=0;
     while (i<=N)
     {
           x[i]=Va+S*i;
           if ((x[i]<=0)||(x[i]==2))
           {
                   y[i] = maaramata; }
           else
           {
                   y[i]=2*pow(x[i], 0.75)/sqrt(1+x[i])+3/(8-pow(x[i], 3));
                   }
           i++;
           }
           }
           
void tulemus(){
     i=0;
     printf("\n    x[i]     |     y[i]     \n");
     while (i<=N)
     {
     if ((x[i]<=0)||(x[i]==2)){
     printf("\n    %.2f    | maaramata  \n", x[i]);
     } else {
     printf("\n    %.2f    |      %.4f    \n", x[i], y[i]);
     }
     i++;
     }
 
     }
     
int main(){
    start();
    lugemine();
    arvutamine(); 
    tulemus();
    printf("press any button...");
    getchar(); 
    getchar();
    return 0;  
}
0
11.12.2008, 13:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2008, 13:46
Привет! Вот еще темы с ответами:

Табулирование функции - C++
Написал программу, но она работает неправильно. Помогите пожалуйста найти ошибки!!!! Написать консольную программу для табулирования...

Табулирование функции - C++
Выручайте ребята нужен код программы: Сам в ноль в этих деталях и по математике Заранее благодарен Вычислить и вывести на экран...

Табулирование функции - C++
составить программу табулирования функции f(x), для x изменяющегося от x_нач до x_кон с шагом dx. При решении задачи необходимо учесть...

Табулирование функции - C++
Мне нужна программа табулирования функции (в общем виде) на С. помогите,пожалуйста=)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru