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

Разработка и отладка алгоритмов и программ с применением пользовательских функций - C++

Восстановить пароль Регистрация
 
tashka
 Аватар для tashka
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 19
28.09.2011, 21:28     Разработка и отладка алгоритмов и программ с применением пользовательских функций #1
подскажите пожалуйста как реализовать задачи(код программы на языке С)
1)Описать функцию вещественного типа(параметры – x, ε), находящую приближенное значение функции exp(x)=1+x+x2 /(2!)+ x3/(3!)+ … +( xn/(n!)).

2)Описать функцию нахождения минимального элемента массива кратного 5. Функция возвращает позицию элемента.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 21:28     Разработка и отладка алгоритмов и программ с применением пользовательских функций
Посмотрите здесь:

Разработка и отладка алгоритмов и программ с использованием указателей. C++
Разработка и отладка алгоритмов и программ с использованием указателей C++
Разработка и отладка алгоритмов и программ по созданию и обработке файлов C++
Разработка и отладка алгоритмов и программ с использованием указателей C++
Разработка и отладка циклических алгоритмов и программ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexcoder
1438 / 652 / 86
Регистрация: 03.06.2009
Сообщений: 3,295
Завершенные тесты: 1
29.09.2011, 08:11     Разработка и отладка алгоритмов и программ с применением пользовательских функций #2
подскажите пожалуйста как реализовать задачи
1. Продумать алгоритм
2. Открыть IDE си
3. Написать программу
tashka
 Аватар для tashka
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 19
29.09.2011, 15:28  [ТС]     Разработка и отладка алгоритмов и программ с применением пользовательских функций #3
well помогите пожалуйста написать задачи(код программы на языке С):cofee2:
алгоритм я продумала,не знаю какой код написать
-=ЮрА=-
Заблокирован
Автор FAQ
29.09.2011, 15:50     Разработка и отладка алгоритмов и программ с применением пользовательских функций #4
tashka,
Цитата Сообщение от tashka Посмотреть сообщение
exp(x)=1+x+x2 /(2!)+ x3/(3!)+ … +( xn/(n!)).
х2 это х^2 или просто х???На сколько помню математику там степени на факториалы делятся?
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
29.09.2011, 15:59     Разработка и отладка алгоритмов и программ с применением пользовательских функций #5
-=ЮрА=-, это разложение в ряд Маклорена, там в числителе - степени, в знаменателе - факториалы:
http://www.cyberforum.ru/cgi-bin/latex.cgi?e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!}

tashka, по первой задаче - производишь суммирование до тех пор, пока очередное слагаемое не станет меньше http://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon, причем следующий член ряда можно получить, умножив предыдущий на http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x}{n}
tashka
 Аватар для tashka
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 19
29.09.2011, 15:59  [ТС]     Разработка и отладка алгоритмов и программ с применением пользовательских функций #6
х2 - х^2
где x3 -x^3
-=ЮрА=-
Заблокирован
Автор FAQ
29.09.2011, 16:06     Разработка и отладка алгоритмов и программ с применением пользовательских функций #7
Цитата Сообщение от tashka Посмотреть сообщение
1)Описать функцию вещественного типа(параметры – x, ε), находящую приближенное значение функции exp(x)=1+x+x2 /(2!)+ x3/(3!)+ … +( xn/(n!)).
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
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <math.h>
 
//Фактоиал рекурсией
unsigned long fact(unsigned long val)
{
    unsigned long ret = val;
    if(1 < (val --))
        ret *= fact(val);
    return ret;
}
 
double f(double x, long n)
{
    double rez = (1 + x);
    for(long i = 2; i <= n; i++)
        rez += pow(x,i)/fact(i);
    return rez;
}
 
int main()
{
    long n;
    double x = 0,e = 0,err;
    do
    {
        printf("Enter x : ");scanf("%lf",&x);
        printf("Enter e : ");scanf("%lf",&e);
        n = 0;
        //Итерационно подбираем n
        while(e < (err = 1 - fabs(f(x, n)/exp(x))))
            printf("Iteration %u error : %lf\r\n",(n++),err);
        printf("Solution found\r\n");
        printf("n = %u\r\n",n);
        printf("exp(x) = %lf\r\n",exp(x));
        printf("f(x,n) = %lf\r\n",f(x,n));
        printf("Press Y for new input\r\n");
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
Enter x : 5.2
Enter e : 0.0001
Iteration 0 error : 0.965797
Iteration 1 error : 0.965797
Iteration 2 error : 0.891213
Iteration 3 error : 0.761935
Iteration 4 error : 0.593872
Iteration 5 error : 0.419087
Iteration 6 error : 0.267607
Iteration 7 error : 0.155078
Iteration 8 error : 0.081935
Iteration 9 error : 0.039674
Iteration 10 error : 0.017699
Iteration 11 error : 0.007310
Iteration 12 error : 0.002809
Solution found
n = 13
exp(x) = 181.272242
f(x,n) = 181.815097
Press Y for new input
tashka
 Аватар для tashka
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 19
29.09.2011, 16:14  [ТС]     Разработка и отладка алгоритмов и программ с применением пользовательских функций #8
Юра, спасибо, а можно уточнить что такое:
toupper
err
fabs?
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
29.09.2011, 16:17     Разработка и отладка алгоритмов и программ с применением пользовательских функций #9
Так проще, точнее и эффективнее:
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
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
 
#define EPS 1e-6
 
int main()
{
    double sum, add, x;
    size_t n;
    
    printf("Input x: ");
    scanf("%lf", &x);
 
    sum = add = 1;
    n = 1;
    
    while(fabs(add *= x / (double) n++) >= EPS)
    sum += add;
 
    printf("Result: %.4f, exp(%.2f): %.4f\n", sum, x, exp(x));
    
    exit(0);
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
29.09.2011, 16:24     Разработка и отладка алгоритмов и программ с применением пользовательских функций #10
2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <limits.h>
 
int FindPos(int* arr, int size){
    int i = 0, pos = -1, min = INT_MAX;
    for(; i < size; ++i){
        if(arr[i] <= min && arr[i] % 5 == 0){
            min = arr[i];
            pos = i;
        }
    }
    return pos;
}
 
int main(){
    int arr[] = {6, 10, 51, -15, 45, -2, -15};
    int pos = FindPos(arr, sizeof(arr)/sizeof(*arr));
    if(pos >= 0) printf("pos = %d\n", pos);
    else puts("Not found");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2011, 16:58     Разработка и отладка алгоритмов и программ с применением пользовательских функций
Еще ссылки по теме:

C++ Разработка и отладка циклических алгоритмов и программ
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций
Разработка и отладка алгоритмов и программ C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
29.09.2011, 16:58     Разработка и отладка алгоритмов и программ с применением пользовательских функций #11
Цитата Сообщение от tashka Посмотреть сообщение
toupper
err
fabs?
toupper (ctype.h) перевод символа в верхний регистр, в программе введена только лишь с целью удобства интерфейса (вдруг Y нажмёшь не нижнем регистре, а при включенном капсе)
err - текущая ошибка, ввёл чисто с информативной целью печатать ошибку на каждой итерации(вдруг ешение будет расходиться можно хоть увидеть на какой итерации скачёк прошёл)
fabs - можуль вещественного числа смотри есть эталон exp(x) и моя f(x) в идеале их отношение равно нулю, а пока считает программа f(x) может и + и минус принять, мі должні смотреть к чему отношение exp(x)/f(x) стремиться...
Yandex
Объявления
29.09.2011, 16:58     Разработка и отладка алгоритмов и программ с применением пользовательских функций
Ответ Создать тему
Опции темы

Текущее время: 03:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru