13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208

Найти max и min, если min левее max, то среднее арифметическое между ними

30.10.2012, 23:44. Показов 5851. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
47
48
49
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main()
{
int n,a[100];
int max,min,i=0,n1=0,n2=0;
float sr=0;
clrscr();
printf("\n Vvedite razmernoctb");
scanf("%d",&n);
while (i<n)
{
  i++;
  printf("\n A[%d]=",i);
  scanf("%d",&a[i]);
}
max=a[1];
min=a[1];
for (i=1;i<n;i++);
 if (a[i]>max)
   {
    max=a[i];
    n1=i;
   }
while (i<n)
{
  if (a[i]<min)
   {
    min=a[i];
    n2=i;
   }
i++;
}
printf("\n Max= %d",max);
printf("\n Min= %d",min);
if (n2<n1)
 {
  for (i=n2;i<n1;i++);
  sr+=a[i+1];
  sr=sr/(n2-n1);
  printf("\n Cpednee arifm= %f",sr);
 }
 else printf("\n Min pravee max");
 
getch();
}
Требуется помощь в коде.Программа не работает(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2012, 23:44
Ответы с готовыми решениями:

Найти среднее арифметическое элементов между min и max элементами массива
Найти среднеарифметическое чисел, находящихся между максимальным и минимальным элементами массива (включая эти элементы в вычисление...

Посчитать среднее арифметическое элементов массива, расположенных между max и min
В массиве нужно подсчитать среднее арифметическое всех элементов расположенных между максимальным элементом и минимальным! например я...

Среднее арифметическое элементов, расположенных между первым min и последним max элементами массива
Найти среднее арифметическое элементов, расположенных между первым минимальным и последним максимальным элементами. Если последний...

22
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
30.10.2012, 23:50
находите минимум через for для i=1
и нумерация в с++ идет с 0, поэтому изначально правильнее писать
max = a[0];
0
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
30.10.2012, 23:52  [ТС]
Исправил, не помогло.
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
30.10.2012, 23:55
как теперь выглядит код?
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
30.10.2012, 23:55
Цитата Сообщение от Lers Посмотреть сообщение
#include <iostream.h>
точку h убери и clrscr() а то паскаль напоминает
C++
1
2
max=a[0];
min=a[0];
0
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
30.10.2012, 23:58  [ТС]
Цитата Сообщение от Евгений89 Посмотреть сообщение
точку h убери и clrscr() а то паскаль напоминает
C++
1
2
max=a[0];
min=a[0];
в универе заставляют писать на Borland C++, а борланд не видит iostream без .h )))

Добавлено через 44 секунды
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
47
48
49
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main()
{
int n,a[100];
int max,min,i=0,n1=0,n2=0;
float sr=0;
clrscr();
printf("\n Vvedite razmernoctb");
scanf("%d",&n);
while (i<n)
{
  i++;
  printf("\n A[%d]=",i);
  scanf("%d",&a[i]);
}
max=a[0];
min=a[0];
for (i=1;i<n;i++);
 if (a[i]>max)
   {
    max=a[i];
    n1=i;
   }
for (i=1;i<n;i++);
{
  if (a[i]<min)
   {
    min=a[i];
    n2=i;
   }
i++;
}
printf("\n Max= %d",max);
printf("\n Min= %d",min);
if (n2<n1)
 {
  for (i=n2;i<n1;i++);
  sr+=a[i+1];
  sr=sr/(n2-n1);
  printf("\n Cpednee arifm= %f",sr);
 }
 else printf("\n Min pravee max");
 
getch();
}
P.S. выглядит сейчас вот так.
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
31.10.2012, 00:00
на визуале бы работало список ошибок можно посмотреть?
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
31.10.2012, 00:01
в цикле ввода данных i++ перенесите после scanf
в цикле поиска минимума уберите i++, которое в 35 строке
0
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
31.10.2012, 00:06  [ТС]
Цитата Сообщение от Евгений89 Посмотреть сообщение
на визуале бы работало список ошибок можно посмотреть?
ошибок нет, выдает не правильный результат, сейчас дам пример

Добавлено через 1 минуту
пример:
ввод:
2
3
4
5
0
1
вывод:
max=1
min=0

Добавлено через 3 минуты
Цитата Сообщение от I.M. Посмотреть сообщение
в цикле ввода данных i++ перенесите после scanf
в цикле поиска минимума уберите i++, которое в 35 строке
Исправил,
пример:
ввод:
3
4
1
5
6
7
вывод:
max=3
min=0
+1 ошибка Вывод что минимум правее максимума
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
31.10.2012, 00:12
в циклах тоже сделай
C++
1
i=0
0
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
31.10.2012, 00:15  [ТС]
Цитата Сообщение от Евгений89 Посмотреть сообщение
в циклах тоже сделай
C++
1
i=0
исправил, результат снова не верный(

Добавлено через 1 минуту
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
47
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
int n,a[100];
int max,min,i=0,n1=0,n2=0;
float sr=0;
clrscr();
printf("\n Vvedite razmernoctb");
scanf("%d",&n);
while (i<n)
{
  printf("\n A[%d]=",i);
  scanf("%d",&a[i]);
  i++;
}
max=a[0];
min=a[0];
for (i=0;i<n;i++);
 if (a[i]>max)
   {
    max=a[i];
    n1=i;
   }
for (i=0;i<n;i++);
  if (a[i]<min)
   {
    min=a[i];
    n2=i;
   }
 
printf("\n Max= %d",max);
printf("\n Min= %d",min);
if (n2<n1)
 {
  for (i=n2;i<n1;i++);
  sr+=a[i+1];
  sr=sr/(n2-n1);
  printf("\n Cpednee arifm= %6.2f",sr);
 }
 else printf("\n Min pravee max");
 
getch();
}
P.S. После всех исправлений вот так выглядит код
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
31.10.2012, 00:17
тоже минимум с максимумом не определяет или что
1
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
31.10.2012, 00:18  [ТС]
Цитата Сообщение от Евгений89 Посмотреть сообщение
тоже минимум с максимумом не определяет или что
да ни минимум ни максимум правильно не находит
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
31.10.2012, 00:19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (i=1;i<n;i++)//;
 if (a[i]>max)
   {
    max=a[i];
    n1=i;
   }
for (i=1;i<n;i++)//;
{
  if (a[i]<min)
   {
    min=a[i];
    n2=i;
   }
уберите закомментированные мной точки с запятой
1
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
31.10.2012, 00:21
странно а должен
0
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
31.10.2012, 00:23  [ТС]
Цитата Сообщение от I.M. Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (i=1;i<n;i++)//;
 if (a[i]>max)
   {
    max=a[i];
    n1=i;
   }
for (i=1;i<n;i++)//;
{
  if (a[i]<min)
   {
    min=a[i];
    n2=i;
   }
уберите закомментированные мной точки с запятой
Спасибо, сейчас нашло правильно максимум и минимум))) (такая мелочь, ; )

Добавлено через 1 минуту
Но не правильно находит среднее арифметическое между максимумом и минимумом, если минимум левее максимума.
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
31.10.2012, 00:27
среднеее арифметическое = сумма элементов/ количество элементов
а у тебя фигня какая то

Добавлено через 1 минуту
сделай отдельную пременную ддля суммирования элементов
0
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
31.10.2012, 00:28  [ТС]
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
47
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
int n,a[100];
int max,min,i=0,n1=0,n2=0;
float sr=0;
clrscr();
printf("\n Vvedite razmernoctb");
scanf("%d",&n);
while (i<n)
{
  printf("\n A[%d]=",i);
  scanf("%d",&a[i]);
  i++;
}
max=a[0];
min=a[0];
for (i=0;i<n;i++)
 if (a[i]>max)
   {
    max=a[i];
    n1=i;
   }
for (i=0;i<n;i++)
  if (a[i]<min)
   {
    min=a[i];
    n2=i;
   }
 
printf("\n Max= %d",max);
printf("\n Min= %d",min);
if (n2<n1)
 {
  for (i=n2;i<n1;i++)
  sr+=a[i];
  sr=sr/(n2-n1);
  printf("\n Cpednee arifm= %6.2f",sr);
 }
 else printf("\n Min pravee max");
 
getch();
}
P.S. после всех исправлений, прога правильно находит max and min но не правильно находит ср.арифметическое между макс. и минимум. почему-то результат со знаком "-"

Добавлено через 43 секунды
Цитата Сообщение от Евгений89 Посмотреть сообщение
среднеее арифметическое = сумма элементов/ количество элементов
а у тебя фигня какая то

Добавлено через 1 минуту
сделай отдельную пременную ддля суммирования элементов
если min левее max то ср.арифм между ними нужно

Добавлено через 47 секунд
начиная с 37 строки нахожу ср.арифметическое.
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
31.10.2012, 00:28
это вариант, когда ищется среднее арифметическое для чисел, лежащих между минимумом и максимумом
C++
1
2
3
4
5
6
7
8
if (n2<n1)
 {
  for (i=n2+1;i<n1;i++)
  sr+=a[i];
  sr/=(n2-n1-1);//опасность! возможно деление на 0
  printf("\n Cpednee arifm= %6.2f",sr);
 }
 else printf("\n Min pravee max");
а это вариант, когда ищется среднее арифметическое для чисел, лежащих между минимумом и максимумом, включая минимум и максимум
C++
1
2
3
4
5
6
7
8
if (n2<n1)
 {
  for (i=n2;i<=n1;i++)
  sr+=a[i];
  sr/=(n2-n1+1);//здесь все ок - 0 не будет
  printf("\n Cpednee arifm= %6.2f",sr);
 }
 else printf("\n Min pravee max");
1
13 / 13 / 6
Регистрация: 27.05.2012
Сообщений: 208
31.10.2012, 00:34  [ТС]
Ответ получается правильный, но со знаком -

Добавлено через 50 секунд
Использовал вариант когда ищется среднее арифметическое для чисел, лежащих между минимумом и максимумом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2012, 00:34
Помогаю со студенческими работами здесь

Найти среднее арифметическое max и min значений элементов в главной диагонали
Доброго времени суток, как сделать так чтобы выводило сред. значение только для главной диагонали матрицы и чтоб числа выводились сами...

В массиве найти среднее арифметическое между min и max
В массиве A найти среднее арифметическое между min и max. #include &lt;stdio.h&gt; main() { float A,min,max,s,c,y;int i,N1,N2,n; ...

Найти среднее арифметическое элементов массива между min и max
Дан одномерный массив. Нужно посчитать среднее арифметическое элементов находящихся между минимальным и максимальным значением, включая...

Процедура: Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c))
Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c)) с помощью использования процедур.

Найти среднее арифметическое элементов последовательности, расположенных между max и min элементами (включительно)
Дана последовательность из 100 различных целых чисел. Найти среднее арифметическое значение чисел, расположенных между максимальным числом...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru