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

Нахождение среднего арифметического и геометрического двух чисел - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
Dark-Fenir
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 3
13.08.2012, 06:21     Нахождение среднего арифметического и геометрического двух чисел #1
Здравствуйте!
Написал программу для нахождения среднего арифметического и геометрического двух чисел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main (void)
{
    double a , b , Sr;
    printf("a = ");
    scanf("%f", &a );
    printf("b = ");
    scanf("%f", &b );
    Sr = (a + b) / 2;
    printf("Srednee arifmeticheskoe 'a' i 'b' ravno %f \n", Sr );
    Sr = sqrt(a * b);
    printf("Srednee geometricheskoe 'a' i 'b' ravno %f \n", Sr );
    getch();
    return 0;
}
но результат выдает по нулям.
Подскажите где я ошибся.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2012, 06:21     Нахождение среднего арифметического и геометрического двух чисел
Посмотрите здесь:

Нахождение среднего геометрического трех целых чисел или произведения двух вещественных C++
C++ Нахождение среднего геометрического определенного двумерного массива
Нахождение среднего арифметического без переполнения C++
Нахождение среднего арифметического C++
Программа для вычисления среднего арифметического и геометрического массива чисел C++
Нахождение среднего арифметического C++
C++ Вычисление среднего арифметического и среднего геометрического двух чисел
C++ Разработайте перегруженные функции нахождения среднего арифметического и среднего геометрического трех целых и вещественных чисел
C++ Нахождение среднего геометрического произвольного набора вещественных чисел. Найти ошибку
C++ Нахождение среднего арифметического трех целых чисел или суммы двух вещественных
Нахождение среднего геометрического C++
C++ Нахождение среднего арифметического

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
13.08.2012, 07:18     Нахождение среднего арифметического и геометрического двух чисел #2
так можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main (void)
{
    double a , b , Sr;
    printf("a = ");
    scanf("%lf", &a );
    printf("b = ");
    scanf("%lf", &b );
    Sr = (a + b) / 2;
    printf("Srednee arifmeticheskoe 'a' i 'b' ravno %f \n", Sr );
    Sr = sqrt(a * b);
    printf("Srednee geometricheskoe 'a' i 'b' ravno %f \n", Sr );
    getch();
    return 0;
}
Dark-Fenir
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 3
13.08.2012, 08:08  [ТС]     Нахождение среднего арифметического и геометрического двух чисел #3
А чем %lf отличается от %f ?

Все разобрался.

Добавлено через 13 минут
Но есть еще вопрос по другой задаче
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main (void)
{
    int x, y;
    float z;
    printf("x = ");
    scanf("%i", &x );
    printf("y = ");
    scanf("%i", &y );
    z = (abs(x) - abs(y)) / (1 + abs(x * y)); 
    printf("(abs(x) - abs(y))/(1 + abs(x * y)) = %lf \n", z);
    getch();
    return 0 ;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main (void)
{
    int x, y;
    float z;
    printf("x = ");
    scanf("%i", &x );
    printf("y = ");
    scanf("%i", &y );
    z = (abs(x) - abs(y)) ;
    z = z / (1 + abs(x * y)); 
    printf("(abs(x) - abs(y))/(1 + abs(x * y)) = %lf \n", z);
    getch();
    return 0 ;
}
почему в первом варианте z=0 при любых значениях
а во втором варианте выводит правильное значение
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
13.08.2012, 08:12     Нахождение среднего арифметического и геометрического двух чисел #4
потому, что в этой строке
C++
1
(abs(x) - abs(y)) / (1 + abs(x * y))
все переменные int и результат поэтому int
исправить можно так
C++
1
z =(float) (abs(x) - abs(y)) / (1 + abs(x * y));
Dark-Fenir
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 3
13.08.2012, 08:18  [ТС]     Нахождение среднего арифметического и геометрического двух чисел #5
ясно
спасибо
Yandex
Объявления
13.08.2012, 08:18     Нахождение среднего арифметического и геометрического двух чисел
Ответ Создать тему
Опции темы

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