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

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

Войти
Регистрация
Восстановить пароль
 
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
#1

Количество интераций - C++

16.11.2009, 22:42. Просмотров 551. Ответов 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
#include<stdio.h>
#include<math.h>
float v(float x, float y)
{return x*x*x+y-exp(-x-y*y)-1;}
 
float dix(float a, float b, float (*v)(float x, float y), float eps, float d)
{
float t,z;
      z=v(d,a);
if(v(d,a)*v(d,b)>0||eps<=0){printf("ERROR!");}
else{
 
do{    
    t=(a+b)/2;
    if(v(d,t)==0)return t;
    if (z*v(d,t)>0) a=t;
    else b=t;
 
    }
 
    while ((b-a)>eps);
    return .5*(a+b);
}
}
int main()
{
float x, x1=0.0, x2=1.0, dx=0.1, eps=0.00001, f;
int a=-2,b=2;
    for (x=x1;x<x2+dx;x=x+dx)
    {f=dix(a,b,v,eps,x);
    printf("\n y=%f ",f);
    }
 
}
подскажите, пожалуйста, как подсчитать количество интераций для каждого значения у????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2009, 22:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество интераций (C++):

Решение СЛАУ методом простых интераций - C++
Проверьте пожалуйста задачу. Верно ли я написал алгоритм решения Задачка: #include&quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; ...

Метод простых интераций для решения СЛАУ - C++
Нашел код, при компилировании выдает много ошибок. Может подскажите что нибудь? //Метод простой итерации решения СЛАУ #include...

В массиве записаны оценки, найти количество пятерок, количество четверок, количество троек и количество двоек - C++
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса. Определить количество пятерок, количество четверок,...

Пользователь вводит строку. Определить количество букв (рус eng), количество цифр и количество остальных - C++
в чем проблема не пойму работает на английских буквах на цифрах и остальные символы вроде считает а вот русские не хочет их забивает как...

Определить количество выигрышей, количество проигрышей и количество ничьих данной команды - C++
Недавно начал изучать язык С++ и уже застопорился. Помогите пожалуйста решить. 2.В массиве записаны результаты N игр футбольной...

В массиве записаны результаты N игр футбольной команды. Определить количество выигрышей, количество проигрышей и количество ничьих данной команды. - C++
Помогите пожалуйста решить задачу. НА С# труда не составляет а вот на С++ не получается. 1. В массиве записаны результаты N игр...

5
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
16.11.2009, 23:09 #2
Самое простое, что в голову приходит:
C
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
size_t count;
float x, x1=0.0, x2=1.0, dx=0.1, eps=0.00001, f;
int a=-2,b=2;
        for (x=x1, count = 0;x<x2+dx;x=x+dx, count++)
        {f=dix(a,b,v,eps,x);
        printf("\n y=%f ",f);
        }
        /* в count количество итераций */
 
}
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
17.11.2009, 18:56  [ТС] #3
это не совсем то, про чтоя спрашива.

мне надо подсчитать за сколько выполнений функции dix находится значение у.

не подскажите?
0
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
17.11.2009, 20:20 #4
КуДрЯшЕчКа, не уверен, что снова правильно понял - везде по 19 получилось...
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
#include<stdio.h>
#include<math.h>
 
float v(float x, float y){
    return x*x*x+y-exp(-x-y*y)-1;
}
 
float dix(float a, float b, float (*v)(float x, float y), float eps, float d, int *count){
    float t,z;
    z=v(d,a);
    
    *count = 0;
    if(v(d,a)*v(d,b)>0||eps<=0){
        printf("ERROR!");
        return 0; /* хоть что-то вернуть нужно */
    }
    else{
        do{    
            (*count)++;
                t=(a+b)/2;
                    if(v(d,t)==0)
                        return t;
                if (z*v(d,t)>0) 
                    a=t;
                else 
                    b=t;
        } while ((b-a)>eps);
            return .5*(a+b);
    }
}
 
int main(){
    float x, x1=0.0, x2=1.0, dx=0.1, eps=0.00001, f;
    int a=-2,b=2, count;
    
    for (x=x1;x<x2+dx;x=x+dx){
        f=dix(a,b,v,eps,x, &count);
        printf("\n y=%f calculated by %d iterations", f, count);
    }
}
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
17.11.2009, 21:27  [ТС] #5
у меня вообще ничего не выводит
0
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
17.11.2009, 23:18 #6
Цитата Сообщение от КуДрЯшЕчКа Посмотреть сообщение
у меня вообще ничего не выводит
странно... вроде всё правильно...
Количество интераций
0
17.11.2009, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2009, 23:18
Привет! Вот еще темы с ответами:

В файле с целыми числами найти количество парных, количество удвоенных нечетных, количество квадратов нечетных - C++
Задано файл, компонентами которого являются целые числа. Найти: a) количество парных среди компонент файла; b) количество...

Найти количество символов в строке, найти заданные буквы, разделить количество букв на количество символов - C++
Написать код который сперва подсчитывает количество символов в строке а потом из этих находит буквы (a,e,y,u,i) и делит количество букв на...

Подсчитать количество всех строк, а потом - количество слов в каждой строке - C++
Программа считает количество строк в файле add.txt выводит на экран и записывает в новый указанный пользователем файл. #include...

Вычислить количество дней и количество полных лет между двумя датами - C++
Ввести натуральные числа а(1), b(1), c(1), a(2), b(2), c(2), которые указывают две даты (число, месяц, год). Вычислить: а) количество...


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

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

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