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

Определить среднее геометрическое отрицательных элементов - C++

Восстановить пароль Регистрация
 
AnnA_J
Сообщений: n/a
18.11.2012, 10:12     Определить среднее геометрическое отрицательных элементов #1
Изначально задание такое было: В массиве В, содержащем 16 элементов(заданных в ручную), определить среднее геометрическое отрицательных элементов, расположенных между минимальным и максимальным элементами данного массива.
____
но, думаю, если среднее геометрическое не получится найти, то можно и ср. арифметическое.
___
У меня получается только найти max и min массива, а потом начинается путаница...
Кроме того, нужно соблюдать условия, что если min находится после max то их нужно поменять местами и т.п.
Вообщем, ребят, кого не очень затруднит, очень прошу помочь.


#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
int main()
{


const int n=16;

int B[n],i,min,max,s=0,count;
for(i=0;i<n;i++)
{
cout<<"B["<<i<<"]:";
cin>>B[i];
}

{
min=0;
for(i=1;i<n;i++)
if(B[i]<B[min])
min=i;
cout<<"min raspolojen v "<<min<<" pozicii "<<" ego znachenie "<<B[min]<<endl;

max=B[0];
for(i=1;i<n;i++)
if(B[i]>B[max])
max=i;
cout<<"max raspolojen v "<<max<<" pozicii "<<" ego znachenie "<<B[max]<<endl;
}

system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 10:12     Определить среднее геометрическое отрицательных элементов
Посмотрите здесь:

11. Ввести двумерный массив А (2*5) . Определить в нём среднее геометрическое модулей отрицательных элементов. C++
C++ ОПределить среднее геометрическое элементов, расположенных нп главной диагонали целочисленной матрицы R[6][6]
C++ Определить в нём среднее геометрическое элементов, стоящих на нечётных позициях.
среднее геометрическое положительных элементов C++
Вычислить среднее арифметическое и среднее геометрическое положительных элементов матрицы C++
В массиве найти среднее геометрическое, все элементы с нечетными индексами уменьшить на среднее геометрическое C++
Определить среднее геометрическое квадратов нечётных элементов массива C++
Найти среднее геометрическое и среднее арифметическое элементов главной диагонали матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gsm180
19 / 11 / 1
Регистрация: 19.10.2012
Сообщений: 100
Записей в блоге: 1
18.11.2012, 21:00     Определить среднее геометрическое отрицательных элементов #2
Можно так попробовать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<cmath>
//#include<cctype>
//#include<cstring>
#include<iostream>
using namespace std;
double pow(double a, double b);
int main()
{setlocale(0,"rus");
const int n=16; int p=0,min,max,st=0,en=0;
float B[16],D[16],l=1;
double r,m;
for(int i=0;i<n;i++){
    cout<<"Введите B["<<i+1<<"] элемент массива"<<endl;
    cin>>B[i];}
max=min=B[0];
for(int i=0;i<n;i++){
    if(max<B[i]){
        max=B[i];
        en=i;}
    else if(min>B[i]){
             min=B[i];
             st=i;}}
if(en<st){
    int temp=en;
    en=st;
    st=temp;}
for(int i=st;i<en;i++)
if(B[i]<0){
    D[p]=B[i];
    p++;}
cout<<"\n-----------------------------------------------\n";
if(p>0){
cout<<"\n";
for(int i=0;i<p;i++)
    l*=D[i];
if(l<0)m=-l;
else m=l;
r=pow(m,(double)1/p);
cout<<"Среднее геометрическое отрицательных элементов равно "<<r<<endl;}
else
cout<<"Нет отрицательных элементов"<<endl;
 
cin.get();
cin.get();
 
    return 0;}
Добавлено через 24 минуты
Там наворотил ненужного, так лучше
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<cmath>
//#include<cctype>
//#include<cstring>
#include<iostream>
using namespace std;
double pow(double a, double b);
int main()
{setlocale(0,"rus");
const int n=16; int p=0,min,max;
float B[16],l=1;
for(int i=0;i<n;i++){
    cout<<"Введите B["<<i+1<<"] элемент массива"<<endl;
    cin>>B[i];}
min=max=0;
for(int i=0;i<n;i++){
    if(B[max]<B[i])
        max=i;
    else if(B[min]>B[i])
             min=i;}
 
if(max<min){
    int temp=max;
    max=min;
    min=temp;}
for(int i=min;i<=max;i++)
if(B[i]<0){
    l*=B[i];
    p++;}
cout<<"\n-----------------------------------------------\n";
if(p>0){
if(l<0)l=-l;
l=pow((double)l,(double)1/p);
cout<<"Среднее геометрическое отрицательных элементов равно "<<l<<endl;}
else
cout<<"Нет отрицательных элементов"<<endl;
 
cin.get();
cin.get();
 
    return 0;}
Yandex
Объявления
18.11.2012, 21:00     Определить среднее геометрическое отрицательных элементов
Ответ Создать тему
Опции темы

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