print 2d array using nested foor

Hello, I want to print an array as follows
9 9 9 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 8 8
7 7 7 7 7 7 7 7 7 7
6 6 6 6 6 6 6 6 6 6
5 5 5 5 5 5 5 5 5 5
4 4 4 4 4 4 4 4 4 4
3 3 3 3 3 3 3 3 3 3
2 2 2 2 2 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0

2 Comments

What have you tried yet? What is the error you are facing? Show your code.
for i=1:10 for i=1:10 a(i,j)=i-1 end end In this code print 000000000 111111111 222222222 333333333 444444444 555555555 666666666 ... 9999 But I want to 999999999 888888888 777777777 666666666 ... 00000

Sign in to comment.

Answers (2)

%Updating your solution
%pre-allocation
a=zeros(10);
for i=1:10
for j=1:10
a(i,j)=10-i;
end
end
a
a1 = 10×10
9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
You can also get the same result (directly) by using some other functions (if using for loop is not necessary) -
[~,y]=meshgrid(9:-1:0)
y = 10×10
9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
x=repelem((9:-1:0)',1,10)
ans = 10×10
9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Abdullah Afar
Abdullah Afar on 11 Oct 2022
for i=1:10 for i=1:10 a(i,j)=i-1 end end
In this code print 000000000 111111111 222222222 333333333 444444444 555555555 666666666 ... 9999
But I want to 999999999 888888888 777777777 666666666 ... 00000

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2017a

Asked:

on 10 Oct 2022

Answered:

on 11 Oct 2022

Community Treasure Hunt

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

Start Hunting!