Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] замена элементов в массиве


Автор: Carlos0N 20.11.2007, 13:09
Всем доброго дня! Я вот по какому вопросу:
мне нужно заменить первый и последний элементы массива на среднее геометрическое его эл-тов

Я тут кое чё сделал, да тока с корнем проблема. Помогите плз, надо вроде тока одну строку исправить. И помогите с другой задачей плз, она в другой теме.

Код

#include <stdio.h>
#include <math.h>
const int n=5;
int main()
{
int a[n];
int sg;
int pr=1, x, s=0;
for (x=0; x<n; x++)
scanf ("%d",&a[x]);
    if (a[0]!=0 && a[n-1]!=0)
    {
    for (x=0;x<n;x++)
           {
           if (a[x]>0)
           {
           pr=pr*a[x];
           s++;
           }
           }
            int pr=pow((double) pr,(double) 1/s);
                a[0]=pr;
                a[n-1]=pr;
                    if (s==0)
                printf ("net polo#itel'nih elementov\n");
                else
                {
                for (x=0;x<n;x++)
                printf ("%d ",a[x]);
                printf ("\n");
                }
    }
    else
    {
    printf ("pervij i poslednij elementi nejavl'auts'a nenulevimi\n");
    }
return 0; 
}   

Автор: Oleg_Ci 20.11.2007, 16:46
Код

int pr=1 // сначала обьявил переменную 'pr'
...

int pr=pow(...   // а потом снова её объявляеш.


// сделай хотябы так:
int pr2 =pow((double) pr,(double) 1/s);
a[0]=pr2;
a[n-1]=pr2;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)