2014 dxdy logo

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

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




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

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

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

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

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

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

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

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

 
 
 
 Re: Работа с массивами в Маткаде
Сообщение29.06.2011, 19:53 

(Оффтоп)

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

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

 
 
 
 Re: Работа с массивами в Маткаде
Сообщение04.07.2011, 15:29 

(Оффтоп)

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

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

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

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


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