How can i solve this array question?
2 views (last 30 days)
Show older comments
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
on 7 Apr 2018
This is very unclear + no example of any sort => can't help unless you be more specific
Answers (1)
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
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
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.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!