How can i solve this array question?

4 ビュー (過去 30 日間)
Emma Swaggy
Emma Swaggy 2017 年 5 月 21 日
コメント済み: Walter Roberson 2018 年 4 月 7 日
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 Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by