Есть проблема с написанием очень простого алг

  • Автор темы SIMarOK
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SIMarOK

#1
Кто может мне помочь? мне очень надо...сам долго ламаю над этим голову... :rolleyes:
помогите кто может....
Вот условие:
В массиве, содержащем не более 21 числа, подсчитать среднее арифметическое для положительных элементов. Если среднее больше заданного числа, положительные элементы исходного массива уменьшить на это число, а отрицательные - увеличить. Найти максимальный элемент полученного массива и его номер. Формат числа ±цц.ц. Результаты распечатать в виде:



Исходный массив: ……………………………………………………

Заданное число …….……..

Среднее для положительных элементов ……..

Полученный массив ……………………………………………………

Номер максимума ….

Программа очень простая по сути и нитребует ничего заумного в коде...все очень просто...
 
?

????

#2
SIMarOK
Т.е. ты хочешь что-бы мы за тебя зделали задачку? Лично я не буду. Покажи что не получается - помогу чем смогу.

В массиве, содержащем не более 21 числа, подсчитать среднее арифметическое для положительных элементов
Код:
for (i=0, sum=0, pol=0; i<count; i++)
{
   if (m[i] > 0 )
   { 
     sum += m[i];
     pol++;
   }
}

sum /= pol;
Если среднее больше заданного числа, положительные элементы исходного массива уменьшить на это число, а отрицательные - увеличить.
Код:
if (sum > chislo)
{
   for (i=0; i<count; i++)
   {
       m[i] > 0 ?
           m[i] += chislo :
           m[i] -= chislo;
   }
}
Найти максимальный элемент полученного массива и его номер
Код:
max = m[0];
max_pos = 0;
for (i=0; i<count; i++)
{
   if (max < m[i])
   { 
     max = m[i];
     max_pos = i;
   }
}
и т.д.
 
Статус
Закрыто для дальнейших ответов.