Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 10:44   #1
Miracle003
Новичок
Джуниор
 
Регистрация: 21.12.2010
Сообщений: 1
Вопрос Дан массив Т(m)

Дан массив Т(m),m<или > 25.вычислите среднее арифметическое элементов ,которые располагаются между минимальным и максимальным значениями.распечатать исходный массив и найденные величины.
Заранее спасибо,умные мальчики и девочки)))
Miracle003 вне форума Ответить с цитированием
Старый 21.12.2010, 11:24   #2
kenwood2010
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 97
По умолчанию

Реализовано на С++ Builder 6.0

вот:

Код:
#include <iostream.h>
#include <conio.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main()
{
int mas[25];
int min = 0;
int max = 0;
int pos1, pos2;
int count = 0, sum = 0;
randomize();

cout<<"Masiv soderjit: ";
//заполняем массив случайыми числами и выводим на экран
for(int i=0;i<25;i++)
 {
  mas[i] = random(15);
  cout<<mas[i]<<" ";
 }
//принимаем за min и max первый элемент массива
  min = mas[0];
  max = mas[0];
//начинаем перебор со второго элемента
for(int i = 1; i < 25; i++)
 {
  if(mas[i] <= min)
   {
    min = mas[i];
    pos1 = i;   //определяем позицию элемента
   }
 if(mas[i] >= max)
   {
    max = mas[i];
    pos2 = i;
   }
 }
if(pos1 < pos2) //сравниваем чтоб цикл суммы был правильным
 {
  for(int i = pos1; i <= pos2;i++)
   {
     sum = sum + mas[i];
     count++; //определяем количество циклов и следовательно количество элементов
   }
  }
 else
  {
  for(int i = pos2; i <= pos1;i++)
   {
     sum = sum + mas[i];
     count++;
   }
  }


cout<<endl<<"Otvet = "<<sum / count; //делим полученную сумму на количество элементов

//для проверки и промежуточного вывода результатов (можно удалить)
cout<<endl<<"Min = "<<min;
cout<<endl<<"Max = "<<max;
cout<<endl<<"Pos1 = "<<pos1;
cout<<endl<<"Pos2 = "<<pos2;
cout<<endl<<"Summ = "<<sum;
cout<<endl<<"Count = "<<count;

getch();
        return 0;
}
kenwood20072@rambler.ru ICQ: 701 302 135. (Программирование на C++, С. Решение задач по физике)

Последний раз редактировалось kenwood2010; 21.12.2010 в 11:59.
kenwood2010 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив А(20). Получить массив В(20) nikita1 Помощь студентам 6 02.12.2010 19:03
Дан массив А(20). Получить массив В(20), в котором В(1)=А(2), В(2)=А(1), В(3)=А(4), В(4)=А(3) и т.д. Выве nikita1 Помощь студентам 5 01.12.2010 18:16
Дан массив... Rec0rd Помощь студентам 2 01.02.2010 00:24
Дан массив dolya2007 Общие вопросы C/C++ 1 01.05.2009 06:24