30/09/2018, 17:02
Hỏi về sắp xếp trong ma trận C
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int A[100][100],n,i,j,tam;
printf("Nhap so phan tu cua mang:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("A[%d][%d]=",i,j);
scanf("%d",&A[i][j]);
}
}
printf("Ma tran vua nhap la:
");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",A[i][j]);
}
printf("
");
}
for(i=0;i<n-1;i++)
{
for(j=i;j<n;j++)
{
if(A[i][j]>A[i][j+1])
{
tam=A[i][j];
A[i][j]=A[i][j+1];
A[i][j+1]=tam;
}
}
}
printf("Ma tran sau khi sap xep:
");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",A[i][j]);
}
printf("
");
}
return 0;
}
Mọi người ơi em đang làm bài sắp xếp ma trận tăng dần theo dòng nhưng chạy không đúng,mọi người xem dùm
Bài liên quan
dùng lib sẵn thì dễ hơn. nhưng dùng cách cổ điển đã
à,em hieu y bac roi nhung cho em thắc mắc 1 chỗ if(A[i][j] >A[x][y]) mới đúng chứ nhỉ.xep tang dan mà :3
ở dưới là temp … A[x][y] trước (chuẩn bị đem bàn phím đi sửa, dấu cộng gõ k dc)
:3 zậy nếu đề if(A[i][j] >A[x][y]) thi temp=A[i][j] truoc dung ko ?
sao em chạy không ra dược zay @Huy -_-
bác Huy hình như hieu sai de roi thi phải, sap xep tang dần theo dòng thoi ak
làm như câu a đấy bác Huy
à. thì cho chạy trên từng dòng rồi sort, chạy khi nào bằng cột-1 thì nhảy dòng kế tiếp …
sort dong roi nhung ko dc T_T
####Đơn giản là viết 1 hàm sắp xếp , viết hàm lấy theo hàng,cột rồi sắp lại thôi.
:v tốn O(n^4) bước :v 4 vòng
for
Cái dấu
-
trướcless
là gì vậy anh ?thật ra còn nhiều cách khác gọn hơn nhiều
int character = 20;
Đảo ngược trật tự thôi
-(a-b)= b-a