Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 22:01   #1
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию Не делает вычислений (СИ)

#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>
float fun( float sum, float y );
float main()
{
float xn,xk,dx,sum,y;
setlocale(LC_ALL,"Russian");
printf("Введите xn= ");
scanf("%f",&xn);
printf("Введите xk= ");
scanf("%f",&xk);
printf("Введите dx= ");
scanf("%f",&dx);
fun( sum, y );
getch();
}
float fun( float sum, float y )
{
float xn,xk,dx;
float n=0,x;
for(x=xn;x<=xk;x+=dx)
{
y*=(-x*x*(2*n+1)/(2*n+3));
n++;
sum+=y;}
printf("сумма=%f",sum);
return;

}

Почему, объясните пожалуйста!

Последний раз редактировалось Ислам; 27.02.2011 в 22:08.
Ислам вне форума Ответить с цитированием
Старый 27.02.2011, 22:27   #2
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

Проблема в fun(). Переменные в функции fun() xk, xn, dx никак не инициализируются (точнее там какой-нибудь мусор записан) поэтому и цикл не выполняется и вычисления не производятся. В fun() надо передавать именно xk, xn, dx, а не sum и y, а возвращать из fun() sum;
optimator вне форума Ответить с цитированием
Старый 27.02.2011, 23:58   #3
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

Спасибо!!!
Ислам вне форума Ответить с цитированием
Старый 28.02.2011, 00:28   #4
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

Глянь еще раз, тоже самое получилось...


#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>
float fun( float xn, float xk, float dx );
float main()
{
float xn,xk,dx,sum;
setlocale(LC_ALL,"Russian");
printf("Введите xn= ");
scanf("%f",&xn);
printf("Введите xk= ");
scanf("%f",&xk);
printf("Введите dx= ");
scanf("%f",&dx);
fun( xn, xk, dx );
printf("сумма=%f",sum);
getch();
}
float fun( float xn, float xk, float dx )
{
float sum,x,y;
float n=0;
for(x=xn;x<=xk;x+=dx)
{
y*=xn*(-x*x*(2*n+1)/(2*n+3));
n++;
}
sum+=y;
return sum;
}
Ислам вне форума Ответить с цитированием
Старый 28.02.2011, 00:48   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Короче, я не понял сути задачи! Но всё таки по коду, я сделал так!
СМОТРИ
Код:
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>

float fun( float xn, float xk, float dx );

int main()
{
    float xn,xk,dx,sum;
    setlocale(LC_ALL,"Russian");
    printf("Введите xn= ");
    scanf("%f",&xn);	
    printf("Введите xk= ");
    scanf("%f",&xk);
    printf("Введите dx= ");
    scanf("%f",&dx);	
    sum = fun( xn, xk, dx );
    printf("сумма=%f",sum);
    getch();
    return 0;
}

float fun( float xn, float xk, float dx )
{
    float sum=0,x,y=1;
    float n=0;
    for(x=xn;x<=xk;x+=dx)
    {
         y*=xn*(-x*x*(2*n+1)/(2*n+3));
         n++;
         sum+=y;
    }
    return sum; 
}
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Параллельные вычислений Иллидан Общие вопросы C/C++ 1 22.11.2010 13:07
Печать. Что делает MS и не делает Delphi Влад12 Общие вопросы Delphi 8 05.05.2010 20:04
Отключение вычислений в Мастере функций alural Microsoft Office Excel 8 29.11.2009 20:49
Задача. Итеративные методы вычислений. 0101 Помощь студентам 1 02.02.2009 22:32
Сортировать результаты вычислений Jana Microsoft Office Excel 2 03.11.2008 08:36