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

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

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

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

30.11.2008, 20:43. Просмотров 3154. Ответов 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 число шагов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2008, 20:43     Табулирование математической функции в Dev C++
Посмотрите здесь:
C++ Табулирование заданной функции и определение максимального и минимального значения функции в таблице
C++ вычисление математической функции exp(x)
C++ Задача на нахождение математической функции
C++ Написать приложение, которое строит график математической функции y=f(x)
C++ Табулирование функции
Табулирование функции C++
C++ Табулирование функции
Табулирование функции C++
Табулирование функции C++
Табулирование функции C++
C++ Табулирование функции

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

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

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

Добавлено через 2 минуты 43 секунды
Поскольку тут много набралось ошибок серьезных и не очень,я не все написал,и что-то скорее всего не ясно.Уточняйте.
uljana
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
01.12.2008, 02:01  [ТС]     Табулирование математической функции в Dev C++ #3
XuTPbIu_MuHTAu, спасибо большое за внимание. в этом у меня и проблема, что никто ничего не объясняет в университете а задания дают словно мы всё это уже знаем, вот и приходится с книжкой, по примерам, а хорошую книгу ещё и не найти, отсюда такой корявый код : )
ещё раз спасибо!
Alirp
55 / 50 / 1
Регистрация: 04.05.2008
Сообщений: 273
01.12.2008, 09:06     Табулирование математической функции в Dev C++ #4
Цитата Сообщение от uljana Посмотреть сообщение
очень нужно чтобы кто-нибудь сказал, почему код не работает?? очень на вас надеюсь!
Просто по коду, помочь бывает сложно, поэтому желательно писать в чем состоит задача программы, и что именно не работает (не компилируется, вылетает, выдает не то что нужно). Тогда вам легче будето помочь.
uljana
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
11.12.2008, 13:46  [ТС]     Табулирование математической функции в Dev C++ #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;  
}
Yandex
Объявления
11.12.2008, 13:46     Табулирование математической функции в Dev C++
Ответ Создать тему
Опции темы

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