Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 4
1

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

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

Author24 — интернет-сервис помощи студентам
Вводится число X>1 и точность e. Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt (один из самых простых методов решения этой задачи - деление пополам. Начинаем с отрезка [1;X]. Берем его середину, возводим в квадрат и сравниваем с X. Если результат оказался больше, отбрасываем правую половину отрезка, иначе - левую и повторяем все с начала. Действуем так, пока длина отрезка не станет меньше e)
Подскажите пожалуйста код, алгоритм составил с кодом не получается, а время жмет. Код на С++
Миниатюры
Вычислить с заданной точностью квадратный корень введенного числа X, не пользуясь функцией SqRt  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2011, 16:09
Ответы с готовыми решениями:

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

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

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

Вычислить квадратный корень из числа А с заданной точностью
Вычислить квадратный корень из числа А с заданной точностью. A - произвольное число....

4
222 / 135 / 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
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 4
26.10.2011, 16:28  [ТС] 3
Там как то черз While надо не используя sqrt

Добавлено через 45 секунд
Но всё равно спасибо, что отзвался)
0
222 / 135 / 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
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2011, 18:23
Помогаю со студенческими работами здесь

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

Как вычислить квадратный корень введенного числа в TextBox?
как мне вычислить квадратный корень введенного числа в Text box и вывести в listbox?

Найти с заданной точностью квадратный корень
С помощью рекурсивной функции найти с заданной точностью квадратный корень Y=√X,...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru