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

Центр тяжести

26.06.2020, 20:12. Показов 5796. Ответов 8

Студворк — интернет-сервис помощи студентам
Всем привет)
Выведите координаты центра тяжести данного множества точек. Создайте структуру Point и сохраните исходные данные в массиве структур Point.
Формат входного файла
Программа получает на вход набор точек на плоскости. Сначала задано количество точек n, затем идет последовательность из n строк, каждая из которых содержит два числа: координаты точки. Величина n не превосходит 100, все исходные координаты – целые числа, не превосходящие 103.
Формат выходных данных
Выведите координаты центра тяжести данного множества точек.
Пример
стандартный ввод
2
1 2
2 3
стандартный вывод
1.5 2.5
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.06.2020, 20:12
Ответы с готовыми решениями:

Центр тяжести
Горю! По координатам вершин многоугольника требуется найти координаты его центра тяжести. Стороны многоугольника друг с другом не...

Центр тяжести
Система из n материальных точек в пространстве задана с помощью последовательности действительных чисел x1, y1, z1, p1, x2, y2, z2, p2,...

Задача Центр тяжести
:senor: Помогите пожалуйста с задачей.Определите средний балл всех учащихся по каждому предмету. Выведите координаты центра тяжести...

8
75 / 48 / 28
Регистрация: 07.01.2019
Сообщений: 168
26.06.2020, 20:32
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
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
 
 
struct Point {
    int x;
    int y;
    friend istream& operator >> (istream& in, Point& point);
};
 
istream& operator >> (istream& in, Point& point) {
    in >> point.x >> point.y;
    return in;  
}
 
 
int main() {
    int n;
    cin >> n;
    vector<Point> arr(n);
    for (int i = 0; i < n; ++i) {
        cin >> arr[i];
    }
    cout << static_cast<float>(accumulate(arr.begin(), arr.end(),
        0,
        [](int sum, const Point& el)
        { sum += el.x; return sum; }
    )) / n;
    cout << static_cast<float>(accumulate(arr.begin(), arr.end(),
        0,
        [](int sum, const Point& el)
        { sum += el.y; return sum; }
    )) / n;
}
0
0 / 0 / 0
Регистрация: 26.06.2020
Сообщений: 20
26.06.2020, 20:37  [ТС]
Werewolf_7, код для меня получился тяжелый. Не могли бы вы сами его чуть изменить. Надо чтобы ответ был через пробел.
0
75 / 48 / 28
Регистрация: 07.01.2019
Сообщений: 168
26.06.2020, 20:39
Лучший ответ Сообщение было отмечено Davy1 как решение

Решение

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
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
 
 
struct Point {
    int x;
    int y;
    friend istream& operator >> (istream& in, Point& point);
};
 
istream& operator >> (istream& in, Point& point) {
    in >> point.x >> point.y;
    return in;  
}
 
 
int main() {
    int n;
    cin >> n;
    vector<Point> arr(n);
    for (int i = 0; i < n; ++i) {
        cin >> arr[i];
    }
    cout << static_cast<float>(accumulate(arr.begin(), arr.end(),
        0,
        [](int sum, const Point& el)
        { sum += el.x; return sum; }
    )) / n << " "
        << static_cast<float>(accumulate(arr.begin(), arr.end(),
            0,
            [](int sum, const Point& el)
            { sum += el.y; return sum; }
    )) / n;
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.06.2020
Сообщений: 20
26.06.2020, 21:09  [ТС]
Werewolf_7, видимо ваш код и для тестирующего сайта слишком не понятен...
Итог
Ошибка компиляции
Очки
0 из 13


solution.cpp: In function 'int main()':
solution.cpp:29:36: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
solution.cpp:30:5: error: no matching function for call to 'accumulate(std::vector<Point>::iterator , std::vector<Point>::iterator, int, main()::<lambda(int, const Point&)>)'
solution.cpp:30:5: note: candidates are:
In file included from $(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/numeric:62:0,
from solution.cpp:3:
$(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/bits/stl_numeric.h:121:5: note: template<class _InputIterator, class _Tp> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp)
$(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/bits/stl_numeric.h:121:5: note: template argument deduction/substitution failed:
solution.cpp:30:5: note: candidate expects 3 arguments, 4 provided
In file included from $(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/numeric:62:0,
from solution.cpp:3:
$(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/bits/stl_numeric.h:147:5: note: template<class _InputIterator, class _Tp, class _BinaryOperation> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation)
solution.cpp:30:5: error: template argument for 'template<class _InputIterator, class _Tp, class _BinaryOperation> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation)' uses local type 'main()::<lambda(int, const Point&)>'
solution.cpp:30:5: error: trying to instantiate 'template<class _InputIterator, class _Tp, class _BinaryOperation> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation)'
solution.cpp:34:40: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
solution.cpp:35:5: error: no matching function for call to 'accumulate(std::vector<Point>::iterator , std::vector<Point>::iterator, int, main()::<lambda(int, const Point&)>)'
solution.cpp:35:5: note: candidates are:
In file included from $(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/numeric:62:0,
from solution.cpp:3:
$(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/bits/stl_numeric.h:121:5: note: template<class _InputIterator, class _Tp> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp)
$(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/bits/stl_numeric.h:121:5: note: template argument deduction/substitution failed:
solution.cpp:35:5: note: candidate expects 3 arguments, 4 provided
In file included from $(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/numeric:62:0,
from solution.cpp:3:
$(HOME)\bin\../lib/gcc/mingw32/4.7.2/include/c++/bits/stl_numeric.h:147:5: note: template<class _InputIterator, class _Tp, class _BinaryOperation> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation)
solution.cpp:35:5: error: template argument for 'template<class _InputIterator, class _Tp, class _BinaryOperation> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation)' uses local type 'main()::<lambda(int, const Point&)>'
solution.cpp:35:5: error: trying to instantiate 'template<class _InputIterator, class _Tp, class _BinaryOperation> _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation)'
0
75 / 48 / 28
Регистрация: 07.01.2019
Сообщений: 168
26.06.2020, 21:16
C++
1
вам же пишет, ворнинг про стандарт языка, в чем проблема поставить на 17 например
0
0 / 0 / 0
Регистрация: 26.06.2020
Сообщений: 20
26.06.2020, 21:21  [ТС]
Цитата Сообщение от Werewolf_7 Посмотреть сообщение
стандарт языка
Werewolf_7, я не могу изменить стандарт языка на тестирующем сайте так как не являюсь его администратором и тд.
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
26.06.2020, 21:37
Лучший ответ Сообщение было отмечено Davy1 как решение

Решение

Попробуйте так
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
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
 
 
struct Point {
    int x;
    int y;
    friend istream& operator >> (istream& in, Point& point);
};
 
istream& operator >> (istream& in, Point& point) {
    in >> point.x >> point.y;
    return in;
}
 
int sum_x(int sum, const Point& el)
{
    sum += el.x; return sum;
}
 
int sum_y(int sum, const Point& el)
{
    sum += el.y; return sum;
}
 
 
int main() {
    int n;
    cin >> n;
    vector<Point> arr(n);
    for (int i = 0; i < n; ++i) {
        cin >> arr[i];
    }
    cout << static_cast<float>(accumulate(arr.begin(), arr.end(), 0, sum_x)) / n << " "
         << static_cast<float>(accumulate(arr.begin(), arr.end(), 0, sum_y)) / n;
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.06.2020
Сообщений: 20
26.06.2020, 21:42  [ТС]
Bleach163, Принято. Спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2020, 21:42
Помогаю со студенческими работами здесь

Центр тяжести плоской пластины
Даны координаты вершин. Надо найти центр тяжести многоугольника, если масса распределена равномерно по его поверхности. Код прошу скинуть с...

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

Определить центр тяжести между точками
Вводим в программу 5 координат точек, программа должна определить центр тяжести между этими 5 точками с графическим интерфейсом, заранее...

Найти подмножество, содержащее ровно M точек, центр тяжести которого находится наиболее близко к началу координат
Если честно я как то не могу полностью понять суть задачи, помогите желательно кодом мне срочно надо Заранее спасибо) На плоскости...

Получить координаты центра тяжести системы, а также расстояние от центра тяжести до всех точек системы
Здравствуйте, помогите пожалуйста с решением задачи!!! Система из 25 материальных точек в пространстве задана с помощью последовательности...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru