1 5 9
2 6 10
3 7 11
4 8 12
Các dạng khác thì minhg đã làm được, không hiểu sao in ra kiểu này làm mãi không ra,Cám ơn trước ạ
1 5 9
2 6 10
3 7 11
4 8 12
Các dạng khác thì minhg đã làm được, không hiểu sao in ra kiểu này làm mãi không ra,Cám ơn trước ạ
Bạn sử dụng endl ở vòng for để xuống hàng thôi :)).
i, j chỉ số từ 0
số dòng là n, số cột là m
phần tử ở ô (i, j) có giá trị i + 1 + j*n
Bạn cho một biến lưu lại số vừa in ra.
Số tiếp theo sẽ bằng số trước đó cộng cho số hàng.
như vậy nó in ra
1
2
3
4
5
6
…luôn chứ bạn
giá trị thì mình dùng 1 biến đếm, ý mình ở đây là xuất theo dạng từ trên xuống từng hàng một
1 4
2 5
3 6
Bạn cho 2 vòng for lòng vào nhau, sau khi kết thúc vòng for trong thì cho nó xuống dòng.
for ( i = 0; i < n; I++)
{
// bắt đầu in ra hàng thứ i
for ( j = 0; j < m; j++)
{
// do something
}
// xuống dòng khi kết thúc một hàng
std::cout << std::endl;
}
// n là số hàng
// m là số cột
:)), endl ở vòng for ngoài ấy. chứ ko phải là ở vòng for trong cùng đâu. Nếu muốn xuất từ trên xuống từng hàng 1 thì bạn đổi lại, xuất cột trước, hàng sau :3
for(int i = 0; i <hang; i++) {
for(int j = 0; j < cot; j++)
{
a[j][i] = dem;
cout << a[j][i];
dem++;
}
cout << endl;
}
như này hả bạn, nó ra theo hàng ngang
for (int i = 0; i < row; i++){
for (int j = 0; j < col; j++)
cout << (i + 1 + j*row) << " ";
cout << "\n";
}
#include <iostream>
using namespace std;
int main()
{
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
for(int i = 0; i <4; i++)
{
for(int j = 0; j < 3; j++)
{
cout << a[j][i];
}
cout << endl;
}
}
sao mình gán a[ j ][ i ]
bằng biến đếm thì lại xuất theo hàng ngang nhỉ?
code của bạn Phúc cái gán a [ i] [ j ] = i + 1 + j*hang mình không hiểu lắm
thì cứ theo cái này, có phải cột 0 đầu tiên sẽ gồm các số từ 1 đến row, cột 1 sẽ gồm các số từ row+1 đến 2row, …
hay nói cách khác, cột chỉ số j (j tính từ 0) sẽ gồm các số từ jrow + 1 đến jrow + 1 + row - 1
hay jrow + 1 + (0) đến j*row + 1 + (row-1)
nếu để ý thì cái trong ngoặc chính là chỉ số dòng (từ 0 đến row-1) -> có công thức
rồi,hiểu rồi cám ơn bạn