Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.02.2019
Сообщений: 12

Найти элемент массива, значение которого наиболее близко к среднему

04.02.2019, 20:47. Показов 2482. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проверьте как мне правильно переписать код с паскаля на c++

pascal
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program asdfw;
var g,c,N:integer;
s,min,f:real;
a:array[1..30000] of real;
begin
read(N);
for c:=1 to N do begin
read(a[c]);
s:=s+a[c];
end;
f:=s/N;
writeln('среднее значение ',f);
min:=abs(a[1]-f);
for c:=1 to N do begin
if abs(a[c]-f)<min then begin
min:=abs(a[c]-f);
g:=c;
end;
end;
writeln('наиболее близкое ',g);
end.
c++
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
#include"pch.h"
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
    double g, c, N, s, min, f, mas[30000];
 
    cin >> N;
    cin >> s;
    for (int c = 1; c < N; c++)
        //cin >> s + mas[c];
        s = s + mas[c];
    
    f = s / N;
    cout << "Srednie zna4enie" << f;
    min = fabs(mas[1] - f);
    for (int c = 1; c < f; c++)
        if (fabs(mas[c] - f) < min)
        {
            min = fabs(mas[c] - f);
            g = c;
        }
 
    cout << "Naibol zna4enie" << g;
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2019, 20:47
Ответы с готовыми решениями:

Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу
Завтра последний день - зачет!! нужна помощь! 1. Дан вещественный массив X(N). Найти элемент массива, значение которого наиболее близко...

Определить элемент массива, значение которого наиболее близко к заданному
Ввести массив и число Р. Определить элемент массива, значение которого близко к Р, то есть объект | xi - Р | является минимальным

Найти в массиве элемент значение которого наиболее близко к заданному
Помогите перевести прогу с Pascal на C++; Категорически не знаю Pascal Var Begin write('Введите размерность: ');readln(n); ...

4
 Аватар для Den468
30 / 18 / 14
Регистрация: 19.12.2018
Сообщений: 104
04.02.2019, 21:53
Не стал я читать всё это, вижу этот текст и аж глазам больно. Специально же сделали возможность указать код.
Прочитал первые строки и сразу замечание. Почему g,c, N вдруг стали double, когда должно быть int?
И что конкретно тут не работает?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.02.2019, 00:07
kava123, одну паскалевскую ошибку вижу. В си(++) индексация массивов начинается с нуля.
С замечанием уважаемого Den468 полностью согласен. Теги кодов умеете ставить? Научить?
0
Модератор
Эксперт С++
 Аватар для zss
13772 / 10965 / 6491
Регистрация: 18.12.2011
Сообщений: 29,242
05.02.2019, 07:11
Лучший ответ Сообщение было отмечено kava123 как решение

Решение

kava123, зачем заниматься такой глупостью (переписывать программу с другого языка а еще и с ошибками).
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
#include <iostream>
using std::cout,std::cin;
int main()
{
    //double g, c, N, s, min, f, mas[30000]; в С++ не надо заводить переменные заранее
    int N;
    cout << "Enter Size:"; // уважайте того, кто будет вводить данные
    cin >> N;
    if (N < 2 )N = 2; // не надейтесь, что введено будет то, что Вы ожидаете
    double* mas = new double[N]; // выделяем памяти столько сколько нужно, а не мифические 30000
    double s=0; // Начальное значение надо присваивать!
    for (int i = 0; i < N; i++) // для целочисленных переменных начинайте имена с букв i,j,k,l,m,n
    {
        cout << "Enter " << i << " element:";
        cin >> mas[i];
        s += mas[i];
    }
    double f = s / N;
    cout << "Average value=" << f<<"\n";
    double min = fabs(mas[0] - f);
    int ig = 0;
    for (int i = 0; i < N; i++)
        if (fabs(mas[i] - f) < min)
        {
            min = fabs(mas[i] - f);
            ig = i;
        }
    delete[] mas;
    cout << "Minimal deviation = "<<min<< " has " << ig<<" element\n";
    system("pause");
    return 0;
}
1
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
05.02.2019, 18:19
kava123, привет!
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
#include <iostream>
#include <xstring>
#include <string>
#include <algorithm>
#include <iterator>
#include <random>
#include <numeric>
 
using namespace std;
 
int main()
{
    system("color 0A");
    wcout.imbue(locale("rus_rus.866"));
    wcin.imbue(locale("rus_rus.866"));
 
    random_device rd;
    mt19937 g{ rd() };
    uniform_int_distribution<> uid(-10, 10);
 
    wcout << L"Укажите длину массива ";
    size_t n;
    cin >> n;
    vector<int> v;
    v.reserve(n);
    generate_n(inserter(v, v.begin()), n, [&g, &uid]() { return uid(g); });
    wcout << L"Исходный массив" << endl;
    for (const auto &value : v)
    {
        cout << value << " ";
    }
    cout << endl;
    sort(v.begin(), v.end());
    long long sum = accumulate(v.begin(), v.end(), 0);
    auto avg = static_cast<double>(sum) / v.size();
    cout << avg << endl;
    auto ub = upper_bound(v.begin(), v.end(), avg);
    wcout << L"Элемент массива, значение которого наиболее близко к среднему ";
    if (abs(*(ub - 1) - avg) < abs(*ub - avg))
    {
        cout << *(ub - 1);
    }
    else
    {
        cout << *ub;
    }
    cout << endl;
 
    system("pause");
    return 0;
}
Миниатюры
Найти элемент массива, значение которого наиболее близко к среднему  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2019, 18:19
Помогаю со студенческими работами здесь

Найти номер элемента, значение которого близко к среднему значению массива
не пойму, что не так.... #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include...

Определить порядковый номер элемента массива, значение которого наиболее близко к некоторому целому числу
условия задачи: Определить порядковый номер элемента массива, значение которого наиболее близко к некоторому целому числу x (x вводится...

Найти элемент массива, значение которого близко к заданному числу Х
Дан массив А, элементами которого являются n действительных чисел. Найти элемент, значение которого близко к заданному числу Х. Вывести...

Определить первый элемент очереди, начиная от ее конца, значение которого наиболее близко к полному квадрату
Дан текстовый файл Inlet.in, содержимое которого представлено действительными чис-лами, которыми следует заполнить очередь элементов...

Определить индекс элемента массива, значение которого наиболее близко к заданному k
Помогите пожалуйста составить программу. Ввести с клавиатуры одномерный массив, состоящий из 10 элементов и число k. Определить индекс...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru