Переключение четных и нечетных символов в Matlab - PullRequest
0 голосов
/ 11 февраля 2011

Используя Matlab, напишите функцию под названием tripFlip, которая принимает одну строку и переключает каждого четно-индексированного персонажа с нечетно-индексированным символом, непосредственно предшествующим ему. Используйте итерацию. Пример: tripFlip('orange') -> 'ronaeg'

Ответы [ 4 ]

0 голосов
/ 02 октября 2012

Что-то вроде этого должно сработать, возможно, вы хотите сделать его немного более устойчивым.

function b = TripFlip(a)
a = 'orange';
b = '';
for i  = 2:2:length(a)
    b=[b a(i) a(i-1)]
end
0 голосов
/ 11 февраля 2011

Я согласен, что это домашний вопрос, и размещение его здесь только укусит вас в долгосрочной перспективе.Но здесь идет:

a = 'orange';
b = '';
b(2:2:length(a))= a(1:2:end);
b(1:2:length(a))= a(2:2:end);

disp(b)
0 голосов
/ 11 февраля 2011

В одну строку:

>> input = 'orange';
>> output = input(reshape([2:2:end;1:2:end],1,[]))
output =
ronaeg

Это не функция и не использует итерацию, но это то, как вы решили бы это, если бы изучали Matlab.

0 голосов
/ 11 февраля 2011

Я предполагаю, что это домашнее задание, поэтому я не буду давать полный ответ.Вы можете использовать double для преобразования строки в массив и char для возврата, если работа с массивами облегчает проблему.В противном случае строки с точки зрения индексации работают так же, как массивы: s(1) получает первый символ, length(s) получает длину и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...