2 / 1 / 1
Регистрация: 27.08.2019
Сообщений: 59

Как найти середину массива или центральный элемент к блоке?

11.01.2020, 12:23. Показов 7705. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
https://www.cyberforum.ru/cgi-bin/latex.cgi? A это 3Д массив, https://www.cyberforum.ru/cgi-bin/latex.cgi?A =[ a_1, a_2, a_3, a_4,...,a_N], где https://www.cyberforum.ru/cgi-bin/latex.cgi?a_N это 2Д массив.

Мне нужно собрать 2Д массив в блоки по 2,3,4 и тд штук и найти средний элемент.


Например:

Matlab M
1
2
3
A=rand(2,2,100); % 3Д массив
w=5;  % хочу собрать по 5 штук в каждый блок
A_reshape = reshape(A, size(A,1), size(A,2),w, []);   % создаю 4Д массив   2 x 2 x 5 x 20

Если https://www.cyberforum.ru/cgi-bin/latex.cgi?w=5: в первом блоке у меня https://www.cyberforum.ru/cgi-bin/latex.cgi?a_1, a_2, a_3, a_4,a_5 . Мне нужен алгоритм который бы определ, что серединный элемент это https://www.cyberforum.ru/cgi-bin/latex.cgi?a_3

Если https://www.cyberforum.ru/cgi-bin/latex.cgi?w=6 : https://www.cyberforum.ru/cgi-bin/latex.cgi?a_1, a_2, a_3, a_4,a_5, a_6. Рещультат: https://www.cyberforum.ru/cgi-bin/latex.cgi?(a_3 +  a_4)/2


Как такое прописать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2020, 12:23
Ответы с готовыми решениями:

Как найти центральный элемент массива ?
Программа должна вывести средний по значению элементы. На примере такого кода: #include <stdio.h> #include...

Найти последний элемент массива R[K], величина которого находится в заданном диапазоне [a, b]; переставить его в середину массива
Найти последний элемент массива R, величина которого находится в заданном диапазоне ; переставить его в середину массива.

Добавить элемент в середину массива
Всем доброго времени суток. Есть задание: В целочисленном массиве X(N) после каждого положительного числа вставить 0. Т.е. в...

4
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
13.01.2020, 09:32
sasdam12, может быть смотреть на w и, если оно четное, то брать w/2 и w/2+1, если нечетное, то ceil(w/2)
0
2 / 1 / 1
Регистрация: 27.08.2019
Сообщений: 59
14.01.2020, 12:25  [ТС]
АлександрКом,

Matlab M
1
2
3
4
5
6
7
8
9
10
w=6;
H1=rand(24,2,2);
H=permute(H1,[2 3 1]); 
groups = reshape(H, size(H,1), size(H,2),w, []); 
d=size(groups,4);
for dd=1:d
    G=groups(:,:,:);
    middle_array = G(ceil(numel(G)/2));
    
end
Выдает только один элемент, а мен нужен массив как результат. Изу средний массив.Что делаю не так?
0
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
14.01.2020, 13:33
Лучший ответ Сообщение было отмечено sasdam12 как решение

Решение

sasdam12,
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
clear;
clc;
 
w = 6;
H1 = rand(24, 2, 2);
H = permute(H1, [2 3 1]); 
groups = reshape(H, size(H,1), size(H,2), w, []); 
 
if mod(w, 2)
    number = ceil(w/2);
else
    number = [w/2 w/2+1];
end
 
middle_array = squeeze(sum(groups(:, :, number, :), 3) / numel(number));
0
Модератор
 Аватар для Centurio
1751 / 1597 / 535
Регистрация: 13.09.2015
Сообщений: 5,570
14.01.2020, 17:04
Цитата Сообщение от sasdam12
Если https://www.cyberforum.ru/cgi-bin/latex.cgi?w=6 : https://www.cyberforum.ru/cgi-bin/latex.cgi?a_1, a_2, a_3, a_4,a_5, a_6. Рещультат: https://www.cyberforum.ru/cgi-bin/latex.cgi?(a_3 +  a_4)/2
Как для массива это действие применять? Каждый элемент двух центральных массивов считать по этой формуле?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.01.2020, 17:04
Помогаю со студенческими работами здесь

вставить элемент в середину массива
доброе время суток, не получается вставить элимент точно в середниу массива. чувствую намудрил с индексами, помогите разобраться program...

Вставить элемент в середину массива
Здравствуйте! Подскажите, пожалуйста, как вставить элемент в середину массива (не заменить один на другой). Например, если после точки...

Вставить элемент в середину динамического массива
Условие: Дан одномерный массив, элементы которого - целые числа. Также даны целые числа X и D. Вставьте в заданный массив элемент X после...

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

Найти среднее арифметическое элементов массива и включить найденное значение в середину массива
Здравствуйте! Помогите, пожалуйста, решить информатику а то отчислят из универа. С VBA вообще никогда не сталкивался, а времени...


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

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

Новые блоги и статьи
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru