Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Работа с массивами в Маткаде
Помогите написать небольшую задачку
Удалить все четные элементы массива , имеющие нечетный индекс.
Пример : массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
Имеющие нечетный индекс 6 4 10
массив после удаления 7 2 5 4 3 9

 Re: Работа с массивами в Маткаде
Аватара пользователя
Ну откройте любой хелп где описываеться как делать циклы, ветвление и обращение к массиву.

 Re: Работа с массивами в Маткаде
phys в сообщении #452662 писал(а):
Ну откройте любой хелп где описываеться как делать циклы, ветвление и обращение к массиву.

Не так всё просто. Что вообще означает "удалить элемент из массива"?...

Логически самый простой путь: создать нулевой массив той же длины, занести единички в позиции тех элементов, которые подлежат удалению (одновременно подсчитывая их количество) и затем создать третий массив длины, оставшейся после выкидывания, перенеся в него по очереди все неудаляемые элементы из первого.

Впрочем, программировать подобные вещи именно на Маткаде (вообще программировать на Маткаде) -- это издевательство.

 Re: Работа с массивами в Маткаде
ewert в сообщении #463427 писал(а):
Впрочем, программировать подобные вещи именно на Маткаде (вообще программировать на Маткаде) -- это издевательство.

Ну, что делать, если у них курс работы в маткаде. И ничего сложнее не задашь, а то не сдадут :-)

 Re: Работа с массивами в Маткаде

(Оффтоп)

Vince Diesel в сообщении #463443 писал(а):
И ничего сложнее не задашь,

Да дело не в том, что "сложнее", скорее наоборот. Дело в том, что маткадовский язык откровенно неадекватен для программирования.

 Re: Работа с массивами в Маткаде

(Оффтоп)

Да уж присоединяюсь, что-то простенькое еще можно написать, но что-то сложнее например матричного умножения уже просто нереально :-(

Я бы посоветовал делать в 2 этапа:
1 подсчет количества элементов прошедших проверку
2 создание вектора (массива) и повторный прогон с инициализацией нужных элементов в массиве.

Немного отличается от алгоритма предложенного ewert, в моем варианте ненадо создавать промежуточные доп массивы.

 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group