How can i solve this array question?

6 次查看(过去 30 天)
write a program that asks the user to enter integer numbers and store the numbers in a two dimensional array, then replace any 9 digit by 0 digit. After that Change the numbers that are in odd row positions by the even row positions.
  1 个评论
Thomas Nguyen
Thomas Nguyen 2018-4-7
This is very unclear + no example of any sort => can't help unless you be more specific

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2017-5-21
The easiest way to replace 9 digits with 0 digits is to int2str() the number, store the result, use logical indexing to find the '9' characters, store '0' characters instead, then str2double() the string after replacement.
Example:
t = sprintf('%d', A_Number);
t(t == '7') = '8';
str2double(t)
  3 个评论
Walter Roberson
Walter Roberson 2017-5-22
I just showed you how to do it with the example of replacing 7 with 8. You can make the obvious changes.
Walter Roberson
Walter Roberson 2018-4-7
temp = arrayfun(@(x) sprintf('%d', x), YourArray, 'uniform', 0);
now you can proceed through the entries in the cell array temp making the substitutions, producing a new cell array. Then you can str2double() the new cell array to get back to a numeric array.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by