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

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

Войти
Регистрация
Восстановить пароль
 
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 88
#1

Ошибка в типе данных - C++

16.11.2012, 19:39. Просмотров 345. Ответов 7
Метки нет (Все метки)

недавно начала учиться программировать в си++, не могу понять в чем ошибка:
нужно написать программу,которая бы считала среднее геометрическое 10 введенных чисел.
Когда пишу так, то программа работает, но округляет числа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
 
int main()
{
int dig[10];
int i,n,P,srg ;
printf(" N=\n");
scanf("%d",&n);
printf("\n vvedite massiv dig \n");
for(i=0;i<n;i++)
scanf("%d",&dig[i]);
for (P=1,i=0;i<n;i++)
    P*=dig[i];
    printf("proisvedenie=%d\n",P);
srg=pow(P,0.1);
printf("srednee geometricheskoe=%d\n", srg);
}
пробовала через переменную double, но в ответ выводит очень большое непонятное число

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
 
int main()
{
int dig[10];
int i,n,P;
long double srg;
printf(" N=\n");
scanf("%d",&n);
printf("\n vvedite massiv dig \n");
for(i=0;i<n;i++)
scanf("%d",&dig[i]);
for (P=1,i=0;i<n;i++)
    P*=dig[i];
    printf("proisvedenie=%d\n",P);
srg=pow(P,0.1);
printf("srednee geometricheskoe=%d\n", srg);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 19:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка в типе данных (C++):

Ошибка в типе данных 'String' and 'System::String' - C++
Всем привет. помогите, выдает ошибку File1.cpp(40): E2015 Ambiguity between 'String' and 'System::String' ...

Ошибка в возвращаемом типе - C++
Помогите пожалуйста, у меня уже волосы дыбом встают. Почему компилятор ругается на это... template&lt;typename _My&gt; iterator...

Ошибка в типе переменной - C++
Здравствуйте, у меня проблема. Дали задачу, решаю не сразу все, а по кусочкам... первый кусок самый простой, возвести число в нужную...

Ошибка в типе переменных - C++
Подскажите пожалуйста в чем ошибка. Есть задача:&quot;Задать массив структур «ведомость» (сдачи экзамена). Распределить память для элементов...

Тривиальная ошибка при типе string - C++
Написал код для сортировки текста в алфавитном порядке. Делал все вроде правильно, как говорится, по книжке, но при компиляции выдает очень...

Информация о типе - C++
Есть ли в сях возможность прочитать класс объекта в строку, заканчивающуюся нулём? Известно, что базовый класс имеет виртуальные члены. Не...

7
v.a.l.i.d
416 / 381 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.11.2012, 20:14 #2
Когда число целое, то программа просто отбрасывает остаток.
А когда double, то показывает цифры после запятой.

Вроде все правильно
1
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 88
16.11.2012, 20:39  [ТС] #3
А ещё, в 18 строчке должно быть в возведение в степень "1/n" (так как n=10,я написала 0.1), почему когда я пишу вместо 0.1 - (1/n) у меня подчеркивается функция "pow" и выскакивает ошибка: "существует более одного экземпляра перегруженная функция "pow",соответствующего списку аргументов"?Не знаете,как это можно исправить или заменить?
0
advajta
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 12
16.11.2012, 20:49 #4
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
 
int main()
{
float dig[10];
float i,n,P;
long double srg;
printf(" N=\n");
scanf("%f",&n);
printf("\n vvedite massiv dig \n");
for(i=0;i<n;i++)
scanf("%d",&dig[i]);
for (P=1,i=0;i<n;i++)
    P*=dig[i];
    printf("proisvedenie=%d\n",P);
srg=pow(P,0.1);
printf("srednee geometricheskoe=%d\n", srg);
}
По пробуй так
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
16.11.2012, 20:50 #5
Цитата Сообщение от marina11 Посмотреть сообщение
почему когда я пишу вместо 0.1 - (1/n) у меня подчеркивается функция "pow" и выскакивает ошибка: "существует более одного экземпляра перегруженная функция "pow",соответствующего списку аргументов"?Не знаете,как это можно исправить или заменить?
записать (1./n)
1
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 88
16.11.2012, 21:11  [ТС] #6
Цитата Сообщение от valeriikozlov Посмотреть сообщение
записать (1./n)
спасибо, это помогло!
но вот конечное число всё же остаётся очень большим... явно не возведение в степень меньше единицы...
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
16.11.2012, 21:19 #7
Цитата Сообщение от marina11 Посмотреть сообщение
но вот конечное число всё же остаётся очень большим... явно не возведение в степень меньше единицы...
у Вас ошибка здесь:
Цитата Сообщение от marina11 Посмотреть сообщение
C
1
printf("srednee geometricheskoe=%d\n", srg);
замените на:
C
1
printf("srednee geometricheskoe=%lf\n", srg);
1
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 88
16.11.2012, 21:24  [ТС] #8
Цитата Сообщение от valeriikozlov Посмотреть сообщение
у Вас ошибка здесь:

замените на:
C
1
printf("srednee geometricheskoe=%lf\n", srg);
огромное вам спасибо!теперь все работает!
0
16.11.2012, 21:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 21:24
Привет! Вот еще темы с ответами:

Битовые операции на длинном типе - C++
Написал алгоритм, все работает на малых числах, на больших - нет. Выяснил, что проблема в том, что const unsigned long long int a =...

Где можно узнать о типе HDC? - C++
Не подскажете, где можно узнать о типе HDC?

Посчитать максимальное количество символов в вещественном типе - C++
Добрый день. Вроде не сложный вопрос, но загнал в штопор. Как посчитать максимальное количество используемые символов в типе double?...

Пояснить про const в возвращаемом типе функции - C++
когда может понадобится написать такое: const int func(int i) { return i+5; } вопрос конкретно за const


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

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

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