Автор | CИ, а не Сиси! |
include "stdafx.h"
#include<conio.h>
#include<math.h>
#include<stdio.h>
void main()
{
int n,N=1,s=0,g=0;
float m,j,k;
scanf ("%d",&n);
for(g;n>0;g++)
{
scanf ("%d",&n);
s+=n;
N=N*n;
}
m=1/g;
k=s/g;
j=pow(N,m);
printf("%f\n%f\n",j,k);
getch();
}
Почему не выводится значение средней геометрической? |
Тема сисек не раскрыта. |
Сиси рулят! ессесна.. |
Сиси рулит
чето сразу санта барбара вспомнилась |
санта барбара вспомнилась
СиСи Кейч вроде так еще была)) |
Catch. |
еще ЗиЗитоп-ZZtop похоже на CCtop)) |
Да ТС извращенец, он всё время путает С++ с Сисками.
Фиговый из него програмист вышел/будет. |
Во первых - по алгоритму косяк: у тебя цикл работает до тех пор, пока ты не введешь отрицательное число или 0, но в то же время это число учитывается здесь
s+=n;
N=N*n;
таким образом N в итоге принимает отрицательное значение и при возведении в степень j=pow(N,m); произойдет ошибка.
Проблема реализации:
m=1/g;
k=s/g;
будет считаться не так, как тебе хочется, подумай, что такое операция "/" на VC++. Используй явное приведение типов. |
для MrSlayer:
я вот это видел. Может условие поставить? |
для Sank_WoT:
зачем тогда спрашиваешь почему не работает, раз видел...
Может условие поставить?
Программа твоя, я с требованиями не знаком. Раз думаешь условие нужно - ставь. |
для MrSlayer:
да вот ставил условие перед этим не прокатывало:( вот незнаю что делать. |
Sank_WoT
чтоб таких вопросов не возникало, обычно преподаватели в универах говорят - делай блок-схему ДО написания реализации. |
для MrSlayer:
СА это мое не любимое. Я возьмусь за него только завершу еще 3 открытых программы:) |