Используя Matlab, напишите функцию под названием tripFlip, которая принимает одну строку и переключает каждого четно-индексированного персонажа с нечетно-индексированным символом, непосредственно предшествующим ему. Используйте итерацию. Пример: tripFlip('orange') -> 'ronaeg'
tripFlip('orange')
'ronaeg'
Что-то вроде этого должно сработать, возможно, вы хотите сделать его немного более устойчивым.
function b = TripFlip(a) a = 'orange'; b = ''; for i = 2:2:length(a) b=[b a(i) a(i-1)] end
Я согласен, что это домашний вопрос, и размещение его здесь только укусит вас в долгосрочной перспективе.Но здесь идет:
a = 'orange'; b = ''; b(2:2:length(a))= a(1:2:end); b(1:2:length(a))= a(2:2:end); disp(b)
В одну строку:
>> input = 'orange'; >> output = input(reshape([2:2:end;1:2:end],1,[])) output = ronaeg
Это не функция и не использует итерацию, но это то, как вы решили бы это, если бы изучали Matlab.
Я предполагаю, что это домашнее задание, поэтому я не буду давать полный ответ.Вы можете использовать double для преобразования строки в массив и char для возврата, если работа с массивами облегчает проблему.В противном случае строки с точки зрения индексации работают так же, как массивы: s(1) получает первый символ, length(s) получает длину и т. Д.
double
char
s(1)
length(s)