Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.11.2022
Сообщений: 52

Определить, какое из чисел на числовой оси лежит ближе к их среднему арифметическому

21.12.2022, 09:59. Показов 1540. Ответов 32

Студворк — интернет-сервис помощи студентам
Дано N действительных случайных чисел в диапазоне от 3 до 10.
Определить, какое из них на числовой оси лежит ближе к их среднему
арифметическому, помогите пожалуйста решить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2022, 09:59
Ответы с готовыми решениями:

Определить, какое из чисел на числовой оси лежит ближе к их среднему арифметическому
Помогите,пожалуйста,переделать задачу? Для 5 действительных случайных чисел в диапазоне от 5 до 12 определить, какое из них на...

Как определить какое из чисел ближе к среднему значению
ввести 4 числа a,b,c,z , вычислить их среднее значение и определить какое из этих чисел ближе всего к среднему. Вот как определить, если...

Вывести значение того из 5 натуральных чисел, которое ближе к их среднему арифметическому
Дано 5 натуральных чисел, не превышающих 2 000 000 000. Вывести значение того из них, которое ближе к их среднему арифметическому. В случае...

32
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
21.12.2022, 10:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от weyzys Посмотреть сообщение
пишет требуется объявление
строчку давай!! на какую ругается

Добавлено через 1 минуту
Цитата Сообщение от weyzys Посмотреть сообщение
printf("%d\n", &di);
& не надо

Цитата Сообщение от weyzys Посмотреть сообщение
#include <stdio.h>;
​include <cstdlib>​
Зачем ; ?
где #

Добавлено через 1 минуту
Цитата Сообщение от weyzys Посмотреть сообщение
int n;
Или инициализировать разумным значением или ввести с терминала значение
сейчас болтается это n неопределённое

Добавлено через 57 секунд
Цитата Сообщение от weyzys Посмотреть сообщение
3 4 5 6 7 8 9 10
а вот это вот зачем так вписано? что ты этим хотел сказать?

Добавлено через 17 секунд
А в остальном - работает, проверил

Добавлено через 1 минуту
Цитата Сообщение от Verevkin Посмотреть сообщение
Добро пожаловать.
И вам всего доброго и сладкого!
0
0 / 0 / 0
Регистрация: 08.11.2022
Сообщений: 52
21.12.2022, 10:59  [ТС]
#include <iostream>
3 4 5 6 7 8 9 10 Здесь ему не нравится
#include <stdio.h>
​#include <cstdlib>​ пишет что знак # не предролагается
#include <math.h>​
int main()
{
int n = 0;
int a​[​n​]​ = ​{ ​0​ }​​;
srand​(​time​(​0​)​)​;
for (int i = 0; i < n; i++)
{
a[i] = rand​(​)​ % ​8​ + ​3​; ​
printf("%d "​, ​a​[​i​]​)​; ​​
}// ищем среднее арифметическое
float Summ = 0;
for (int i = 0; i < n; i++)
{
​Summ​ += ​a​[​i​]​; ​
}
Summ​ = ​Summ​ / ​n​;
int D = 0, di = 0;
for (int i = 0; i < n; i++)
{ if (i == 0) { ​D​ = ​fabs​(​a​[​i​]​ - ​Summ​)​; di = a[i]; }
else if (​fabs​(​a​[​i​]​ - ​Summ​)​ < ​D) { ​D​ = ​fabs​(​a​[​i​]​ - ​Summ​)​;
di = a[i]; } }
printf("%d\n",di);
return 0;
} пишет требуется объявление
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
21.12.2022, 11:18
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
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <cassert>
#include <cmath>
using namespace std;
 
double* new_arr(size_t count)
{
  assert(count);
  double* dest = new double[count];
  for (auto p = dest; count--; p++)
  { 
    *p = 3.0 + 7 * (1.0 * rand() / RAND_MAX); // 3.0...10.0
    cout << *p << (count ? " " : "\n\n");
  }
  return dest;
}
 
// поиск в массиве элементов, ближайших к среднему значению.
void foo(double* x, size_t count, double &below, double &above)
{
  assert(x && count);
  double aver = 0.0;
  auto e = x + count;
  below = *x, above = *x;
  
  for (auto p = x; p != e; p++)
  { 
    aver += *p;
    if (*p < below) below = *p;
    if (*p > above) above = *p;
  }
  
  aver /= count;
  cout << "минимум:  "   << below 
       << "\nмаксимум: " << above 
       << "\nсреднее:  " << aver <<'\n';
 
  for (x++; x != e; x++)
  {  
    if ((*x < aver) && (aver - *x < aver - below)) below = *x;
    if ((*x > aver) && (*x - aver < above - aver)) above = *x; 
    if (*x == aver) { below = *x, above = *x; break; }
  }
}
 
#define COUNTOF(x) (sizeof(x) / sizeof(x[0]))
#define COUNT 16
 
int main()
{
  //double x[] = {3, 5, 3, 5, 3, 5}, below, above;
  system("chcp 65001 > nul");
  srand(time(0));
  double below, above;
  double* x = new_arr(COUNT);
  foo(x, COUNT, below, above);
  cout << "ближайшее к среднему снизу:  " << below 
       << "\nближайшее к среднему сверху: " << above << '\n';
  delete[] x;
  return 0;
}
Миниатюры
Определить, какое из чисел на числовой оси лежит ближе к их среднему арифметическому  
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
21.12.2022, 11:36
Цитата Сообщение от weyzys Посмотреть сообщение
3 4 5 6 7 8 9 10 Здесь ему не нравится
А вы что этой строкой тут подразумевали? что за набор цифр посреди кода? зачем оно здесь?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
21.12.2022, 12:48
weyzys, размер массива нельзя указывать из переменных типа a[n]
только из констант и прямо указанных чисел типа a[10]
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
21.12.2022, 13:12
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
размер массива нельзя указывать из переменных типа a[n]
Разрешите с вами не согласиться!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    int n;
    std::cin >> n;
 
    int a[n];
 
    for(int i = 0; i < n; a[i] = i*11, i++);
 
    for(int i = 0; i < n; i++)
      std::cout << a[i] << ' ';
 
    return 0;
}
https://onlinegdb.com/qBmKe5tnt
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
21.12.2022, 13:16
KSergey9, и что это доказывает? Что некоторые компиляторы плевать на стандарт хотели?
Вот когда при мне успешно скомпилируют VLA хотя бы на десятке компиляторов разных фирм, я признаю, что не прав.
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
21.12.2022, 13:27
Kuzia domovenok
Это указывает то, что я вам привёл контр-пример на ваше абсолютно категоричное заявление. Т.е. факт против ваших слов.
Выдержка из стандарта с вашей стороны бы к месту, например.
0
0 / 0 / 0
Регистрация: 08.11.2022
Сообщений: 52
22.12.2022, 18:33  [ТС]
Вообще не понятен ваш код
#include <iostream>
#include <cassert>
#include <cmath>
using namespace std;

double* new_arr(size_t count)
{
assert(count);
double* dest = new double[count];
for (auto p = dest; count--; p++)
{
*p = 3.0 + 7 * (1.0 * rand() / RAND_MAX); // 3.0...10.0
cout << *p << (count ? " " : "\n\n");
}
return dest;
}

// поиск в массиве элементов, ближайших к среднему значению.
void foo(double* x, size_t count, double &below, double &above)
{
assert(x && count);
double aver = 0.0;
auto e = x + count;
below = *x, above = *x;

for (auto p = x; p != e; p++)
{
aver += *p;
if (*p < below) below = *p;
if (*p > above) above = *p;
}

aver /= count;
cout << "минимум: " << below
<< "\nмаксимум: " << above
<< "\nсреднее: " << aver <<'\n';

for (x++; x != e; x++)
{
if ((*x < aver) && (aver - *x < aver - below)) below = *x;
if ((*x > aver) && (*x - aver < above - aver)) above = *x;
if (*x == aver) { below = *x, above = *x; break; }
}
}

#define COUNTOF(x) (sizeof(x) / sizeof(x[0]))
#define COUNT 16

int main()
{
//double x[] = {3, 5, 3, 5, 3, 5}, below, above;
system("chcp 65001 > nul");
srand(time(0));
double below, above;
double* x = new_arr(COUNT);
foo(x, COUNT, below, above);
cout << "ближайшее к среднему снизу: " << below
<< "\nближайшее к среднему сверху: " << above << '\n';
delete[] x;
return 0;
}
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
22.12.2022, 18:40
Цитата Сообщение от weyzys Посмотреть сообщение
Вообще не понятен ваш код
Чо, не работает?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
22.12.2022, 18:59
Цитата Сообщение от KSergey9 Посмотреть сообщение
Выдержка из стандарта с вашей стороны бы к месту, например.
In a declaration T D where D has the form
In a declaration T D where D has the form
D1 [ constant-expressionopt ] attribute-specifier-seqopt
and the type of the identifier in the declaration T D1 is “derived-declarator-type-list T”, then the type of the
identifier of D is an array type;

и.т.д. расписывается, всё для условия, что массив объявлен с размером constant-expression
0
0 / 0 / 0
Регистрация: 08.11.2022
Сообщений: 52
22.12.2022, 20:08  [ТС]
Пытаюсь переписать все выводит ошибки
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <clocale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int a[8] = {3,4,5,6,7,8,9,10};
for (int i = 0; i < a[8]; i++)
{
a[i] = rand() % 8​;
printf("%d",&a[i]​);​​
}//заполняем массив
int sum = 0;
for (int i = 0; i < a[8]; i++)
{
sum += a[i];
printf("Сумма значений всех элементов массива %d ",&a[i]);
}
int sred = 0;
sred = sum / a[i];
printf(" Среднее арифметическое всех значений %d ",&sred)

}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
22.12.2022, 20:25
weyzys, i<8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2022, 20:25

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

Найти число, которое «ближе всех» к среднему арифметическому в одномерном массиве
Добрый день, мое задание: Требуется разработать программу, которая: 1) обеспечивает ввод n (количества обрабатываемых чисел — размера...

Определить номера двух элементов массива расположенных ближе всех друг к другу на числовой оси
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне и определяет номера двух элементов этого...

Определить номера двух элементов массива, которые расположены ближе всех друг к другу на числовой оси
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне и определяет номера двух элементов этого...

Определить номера двух элементов массива, которые расположены ближе всего друг к другу на числовой оси
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне и определяет номера двух элементов этого...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru