How can i solve this array question?

2 views (last 30 days)
Emma Swaggy
Emma Swaggy on 21 May 2017
Commented: Walter Roberson on 7 Apr 2018
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 Comment
Thomas Nguyen
Thomas Nguyen on 7 Apr 2018
This is very unclear + no example of any sort => can't help unless you be more specific

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 21 May 2017
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 Comments
Walter Roberson
Walter Roberson on 22 May 2017
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 on 7 Apr 2018
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!