Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Alex_jef
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 4
#1

Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt - C++

26.10.2011, 16:09. Просмотров 1708. Ответов 4
Метки нет (Все метки)

Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt (один из самых простых методов решения этой задачи - деление пополам. Начинаем с отрезка [1;X]. Берем его середину, возводим в квадрат и сравниваем с X. Если результат оказался больше, отбрасываем правую половину отрезка, иначе - левую и повторяем все с начала. Действуем так, пока длина отрезка не станет меньше e)
Подскажите пожалуйста код, алгоритм составил с кодом не получается, а время жмет. Код на С++
0
Миниатюры
Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 16:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt (C++):

Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt.
Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный...

Вычислить с заданной точностью квадратный корень введенного числа X
7. Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный...

Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный корень введенного числа X
Три подобных темы есть, все без ответа. Условия: "Вводится число X>1 и...

Вычислить квадратный корень введенного пользователем числа
Написал небольшую программку, которая ищет квадратный корень из числа, которое...

Квадратный корень введенного числа.
Здравствуйте. Мне задали задачку: Написать программу, выводящую на экран...

найти квадратный корень из числа a с указанной точностью ε при помощи формулы Герона
Ввести с клавиатуры вещественные положительные числа a и ε. Необходимо найти...

4
x1Mike7x
218 / 131 / 19
Регистрация: 06.11.2010
Сообщений: 234
26.10.2011, 16:22 #2
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
....................
double my_sqrt( double X, double L, double R, double E )
{
    double C = ( R + L ) / 2;
    if ( fabs(C * C - X) < E )
        return C;
    else if ( C * C > X )
        return my_sqrt( X, L, C, E );
    else
        return my_sqrt( X, C, R, E );
}
....................
my_sqrt( X, 0, X, E ); // Вызов в теле функции main
1
Alex_jef
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 4
26.10.2011, 16:28  [ТС] #3
Там как то черз While надо не используя sqrt

Добавлено через 45 секунд
Но всё равно спасибо, что отзвался)
0
x1Mike7x
218 / 131 / 19
Регистрация: 06.11.2010
Сообщений: 234
26.10.2011, 17:06 #4
тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
....................
double my_sqrt( double X, double E )
{
    double L = 0.0, R = X, C = ( R + L ) / 2.0;
    while ( fabs(C * C - X) >= E )
        if ( C * C > X )
            C = ( L + C ) / 2;
        else
            C = ( R + C ) / 2;;
    return C;
}
....................
my_sqrt( X, E ); // Вызов в теле функции main
1
Alex_jef
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 4
26.10.2011, 18:23  [ТС] #5
не работает код(

Добавлено через 29 минут
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define e 2.71
 
int main(){
    float left,right, center,x;
    left=0.0;
    right=x;
    center=(right+left)/2;
    printf("Enter x");
    scanf("%f,%f,%f,%f",left,right,center,x);
    while(fabs(center*center-x)>=e);
    
    if
        ((center*center)>x);
       center=(left+center)/2;
       printf("%f",center);
    else
        (center=(right+center)/2);
    printf("%f",center);
    
getch();
    return 0;
    
}
 Комментарий модератора 
Используйте теги форматирования кода!


Добавлено через 44 секунды
подскажите в чем ошибки пожалуйста
0
26.10.2011, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 18:23
Привет! Вот еще темы с решениями:

Вычислить квадратный корень из произвольного числа
Вычислить квадратный корень из произвольного числа, используя метод Ньютона...

Вычислить квадратный корень из заданного целого числа, используя только побитовые операции
Существует простой способ вычисления квадратного корня: квадратный корень из...

Цикл: Для числа N вычислить значение следующего выражения: sqrt((1) + sqrt((2) + ... + sqrt(2 * N)))
Как это решить? sqrt((1)+sqrt((2)+..+sqrt(2n)))

Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++
Даны два числа. Если квадратный корень из второго числа меньше первого числа,...


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

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

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