Как определить четность числа, не используя встроенные функции?

Обсуждение форума и архива форума www.matlab.ru

Модератор: Admin

Argunar
Пользователь
Сообщения: 1
Зарегистрирован: Пн май 27, 2019 10:48 pm

Как определить четность числа, не используя встроенные функции?

Сообщение Argunar » Пн май 27, 2019 11:02 pm

Здравствуйте, участники данного форума. Мне нужна помощь с одной задачей. Условие такое:
В рандомной символьной матрице М заменить средний элемент.
Вот сам код:

clc;
clear;
M=['a' 'a' 'a' 'a' 'a';'a' 'a' 'a' 'a' 'a';'a' 'a' 'a' 'a' 'a'; 'a' 'a' 'a' 'a' 'a']
[g,v]=size(M)
if rem(g,2)==0 || rem(v,2)==0
s='не возвможно найти средний элемент'
disp(s)
else
M(round(g/2), round(v/2))='b'
end


И теперь следующее условие данной задачи:
Не используя встроенных команд MATLAB, заменить средний элемент матрицы. Заранее спасибо.

U235
Пользователь
Сообщения: 811
Зарегистрирован: Пт июл 01, 2005 10:13 am

Re: Как определить четность числа, не используя встроенные функции?

Сообщение U235 » Вт май 28, 2019 6:19 am

используйте линейное индексирование

Код: Выделить всё

clc;
clear;
M=['a' 'a' 'a' 'a' 'a';'a' 'a' 'a' 'a' 'a';'a' 'a' 'a' 'a' 'a'; 'a' 'a' 'a' 'a' 'a']
N=numel(M)
if rem(N,2)==0
s='не возвможно найти средний элемент'
disp(s)
else
M((N+1)/2)='b'
end