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

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

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

Author24 — интернет-сервис помощи студентам
недавно начала учиться программировать в си++, не могу понять в чем ошибка:
нужно написать программу,которая бы считала среднее геометрическое 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 19:39
Ответы с готовыми решениями:

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

Ошибка в возвращаемом типе
Помогите пожалуйста, у меня уже волосы дыбом встают. Почему компилятор ругается на это......

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

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

7
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
16.11.2012, 20:14 2
Когда число целое, то программа просто отбрасывает остаток.
А когда double, то показывает цифры после запятой.

Вроде все правильно
1
1 / 1 / 1
Регистрация: 15.11.2012
Сообщений: 88
16.11.2012, 20:39  [ТС] 3
А ещё, в 18 строчке должно быть в возведение в степень "1/n" (так как n=10,я написала 0.1), почему когда я пишу вместо 0.1 - (1/n) у меня подчеркивается функция "pow" и выскакивает ошибка: "существует более одного экземпляра перегруженная функция "pow",соответствующего списку аргументов"?Не знаете,как это можно исправить или заменить?
0
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
Эксперт С++
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
16.11.2012, 20:50 5
Цитата Сообщение от marina11 Посмотреть сообщение
почему когда я пишу вместо 0.1 - (1/n) у меня подчеркивается функция "pow" и выскакивает ошибка: "существует более одного экземпляра перегруженная функция "pow",соответствующего списку аргументов"?Не знаете,как это можно исправить или заменить?
записать (1./n)
1
1 / 1 / 1
Регистрация: 15.11.2012
Сообщений: 88
16.11.2012, 21:11  [ТС] 6
Цитата Сообщение от valeriikozlov Посмотреть сообщение
записать (1./n)
спасибо, это помогло!
но вот конечное число всё же остаётся очень большим... явно не возведение в степень меньше единицы...
0
Эксперт С++
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
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
1 / 1 / 1
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 21:24
Помогаю со студенческими работами здесь

Типе структуры данных и реализации считалки
Привет. Хочу реализовать такую штуку для лабы: Есть считалка и есть список(Или что-то...

Тривиальная ошибка при типе string
Написал код для сортировки текста в алфавитном порядке. Делал все вроде правильно, как говорится,...

Ошибка в типе данных
Здравствуйте форумчане! Написал код для курсовой DOMAINS nt,tipe,roof=string PREDICATES...

Ошибка в своем типе данных
Ошибка следующая: Unit3.pas(43): E2029 ';' expected but ' type TNote = record Gorod:...


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

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