Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: В общем) Мне дан двумерный массив, состоящий из 50 элементов, со значениями от 0 до 100, и мне нужно вывести с какого элемента начинается участок из 10 элементов( непрерывный участок) , которые образуют наибольшее среднее значение в этом массиве) И ещё вывести, каково это среднее значение...то есть сложить эти 10 элементов и поделить это сложение на 10) Это вся задача.... Пожалуйста...пробовала много раз, но так ничего и не получается(((
1
  1  Иванова Елизавета, 19 декабря 2009 г. 22:01:50
      Спасибо, но сейчас не могу проверить, занимаюсь переездом...позже)
  2  Беляев Сергей Николаевич, 19 декабря 2009 г. 6:57:18
      Я тоже подозревал, что массив одномерный. Тогда это очень легкая задачка для многих участников моего сайта.
  3  Бабушкин Олег, 18 декабря 2009 г. 20:22:25
      #include <iostream>

using namespace std;
const int N = 50;
int K = 10;

int a[N];

int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);

for (int i = 0; i < N; i++)
scanf("%d", &a[i]); // считали

int cur = 0, ans = 0, ans_i = 1;

for (int i = 0; i < K; i++)
cur += a[i]; // давайте запомним сумму первых K элементов

for (int i = 0; i < N - K; i++) // теперь посмотри на сумму K элементов начиная с i + 1-го
{
cur = cur - a[i] + a[i + K]; // из текущей суммы выбросим предыдущий элемент и добавим следующий
if (cur > ans) // если это вдруг максимум, запомним его
{
ans = cur;
ans_i = i + 2;
}
}
printf("Начиная с %d того элемента среднее значение %d элементов = %0.03llf", ans_i, K, ans / (double) K);
return 0;
}
P.S прошу сильно не ругать если что не так.
  4  Иванова Елизавета, 18 декабря 2009 г. 19:47:26
      А на счёт "просто", это я не спорю) Но не всем дано) А решить блин надо(
  5  Иванова Елизавета, 18 декабря 2009 г. 19:46:12
      Оооо....Если честно) Там ничего не сказано, просто массив) Просто не очень шарю, вот и решила, что он двумерный) Наверно всё-таки да, одномерный, потому что Когда я просто выводила этот массив случайных чисел, то все они просто шли в строчку, ну или в несколько строчек....Просто подряд числа) А там чёрт его знает....
  6  Иванова Елизавета, 18 декабря 2009 г. 19:40:16
      Щас посмотрю в тетради)
  7  Все гениальное - просто!, 18 декабря 2009 г. 19:34:19
      А ты уверена что двумерный массив??? Если да,то что тогда означает "непрерывный участок"?? Этот участок может быть как по горизонтали, так и по вертикали... А если, все же массив одномерный,то делается все очень просто,простым перебором "участков" по 10 элементов!
  8  Иванова Елизавета, 18 декабря 2009 г. 17:18:40
      Во первых писала, а не писал) А во вторых сложно мне) Так как душа не лежит у меня к решению этих задач((( Мде)
  9  Андрей Шмидт, 18 декабря 2009 г. 17:13:39
      и что тут сложного? мде)
ну покажи хоть сам что писал, код желательно кидать не сюда напрямую, а сюда http://paste.ubuntu.com
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru