Tin Kien Giang K31
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tin Kien Giang K31

Chao mung den voi dien dan Tin-KG Khoa 31
 
Trang ChínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 CTDL tao ma tran xoan oc

Go down 
3 posters
Tác giảThông điệp
vvhungtam




Tổng số bài gửi : 11
Registration date : 16/09/2007

CTDL tao ma tran xoan oc Empty
Bài gửiTiêu đề: CTDL tao ma tran xoan oc   CTDL tao ma tran xoan oc Empty25/3/2008, 15:09

#include<iostream>
#include<conio.h>
#include<iomanip>

using namespace std;

void nhapmang(int a[][100],int& n);
void xuatmanghaichieu(int a[][100], int n);
void haithanhmot(int b[100],int a[][100],int n);
void xeptang(int b[],int n);
void matranxoanoc(int a[][100],int n);

int a[100][100],b [100],n,k;
void main()
{
nhapmang(a,n);
matranxoanoc(a,n);
}
void nhapmang(int a[][100],int& n)
{

cout<<"Cho biet ma tran cap may: ";
cin>>n;
cout<<"Nhap cac phan tu cua ma tran: \n";
for(int i=0;i<n;++i)
for(int j=0;j<n;++j)
{
cout<<"a["<<i+1<<"]["<<j+1<<"]= ";
cin>>a[i][j];
}
}
void xuatmanghaichieu(int a[][100], int n)
{
cout<<"Cac phan tu cua ma tran la: \n";
for(int i=0;i<n;++i)
{
for(int j=0;j<n;++j)
cout<<setw(3)<<a[i][j];
cout<<endl;
}
}
void haithanhmot(int b[100],int a[][100],int n)
{
int k=0;
for(int i=0;i<n;++i)
for(int j=0;j<n;++j)
b[k++]=a[i][j];
xeptang(b,n*n);
}
void xeptang(int b[],int n)
{
int t;
for(int i=1;i<n;++i)
for(int j=n-1;j>=i;--j)
if(b[j]<b[j-1])
{
t=b[j];
b[j]=b[j-1];
b[j-1]=t;
}

}
void matranxoanoc(int a[][100],int n)
{
int d=0,dem=1,b[100],c[100][100],l=n-1;
int i=0,j=0;
haithanhmot(b,a,n);
int m=(n%2)?n*n-1:n*n;
while(d<m)
{
switch(dem)
{
case 1:
{
for(int t=0;t<l;++t)
c[i][j+t]=b[d++];
j=j+l;dem++;
}break;
case 2:
{
for(int t=0;t<l;++t)
c[i+t][j]=b[d++];
i=i+l;dem++;
}break;
case 3:
{
for(int t=0;t<l;++t)
c[i][j-t]=b[d++];
j=j-l;dem++;
}break;
case 4:
{
for(int t=0;t<l;++t)
c[i-t][j]=b[d++];
dem=1;i=i-l+1;j=j+1;l=l-2;
}break;
}
}
if(n%2) c[n/2][n/2]=b[n*n-1];
xuatmanghaichieu(c,n);
}
Về Đầu Trang Go down
thu huong
Moderator
Moderator



Tổng số bài gửi : 25
Registration date : 17/09/2007

CTDL tao ma tran xoan oc Empty
Bài gửiTiêu đề: Re: CTDL tao ma tran xoan oc   CTDL tao ma tran xoan oc Empty28/3/2008, 20:57

Toi goi bai nay moi nguoi tham khao va cho y kien nghe Very Happy
#include <iostream>
#include <conio.h>
#include <cmath>

using namespace std;
int n,m;
int t;
int a[100];
int b[100][100];
void nhap()
{
cout<<"Cho biet so phan tu cua mang:";
cin>>n>>m;
t=m*n;
for(int i=0;i<t;i++)
cin>>a[i];
}
void sapxep()
{
for(int i=0;i<t-1;i++)
{
int k=i;
for(int j=i+1;j<t;j++)
if(a[j]<a[k])
k=j;
int t=a[i];
a[i]=a[k];
a[k]=t;
}
}
void xuat()
{
for(int i=0;i<t;i++)
{
cout<<a[i]<<" ";
}
}
void xoanoc()
{
int hang=0;int cot=0;
int tang=0;
int chancottang= n-1; int chanhangtang=n-1;
int chancotgiam=0; int chanhanggiam=0;
for(int i=0;i<t;i++)
{
b[hang][cot]=a[i];
switch(tang)
{
case 0:
if(cot<chancottang)
{
cot++;
}
else
{
tang++;
chanhanggiam++;//chuyen sang tang
hang++;
}
break;
case 1:
if(hang<chanhangtang)
{
hang++;

}
else
{
tang++;
chancottang--;
cot--;
}
break;
case 2:
if(cot>chancotgiam)
{
cot--;

}
else
{
tang++;
chanhangtang--;
hang--;
}

break;
case 3:
if(hang>chanhanggiam)
{
hang--;

}
else
{
tang=0;
chancotgiam++;
cot++;
}
break;
}
}
for(hang=0;hang<n;hang++)
{
cout<<endl;
for(cot=0;cot<m;cot++)
cout<<b[hang][cot]<<" ";
}
cout<<endl;
}
void main()
{
nhap();
sapxep();
xoanoc();
xuat();
}
Về Đầu Trang Go down
huanlm
Moderator
Moderator



Tổng số bài gửi : 72
Registration date : 12/09/2007

CTDL tao ma tran xoan oc Empty
Bài gửiTiêu đề: Re: CTDL tao ma tran xoan oc   CTDL tao ma tran xoan oc Empty1/4/2008, 19:13

Mọi người có cách nào ngắn hơn ko, dài quá à Crying or Very sad Crying or Very sad Crying or Very sad
Về Đầu Trang Go down
Sponsored content





CTDL tao ma tran xoan oc Empty
Bài gửiTiêu đề: Re: CTDL tao ma tran xoan oc   CTDL tao ma tran xoan oc Empty

Về Đầu Trang Go down
 
CTDL tao ma tran xoan oc
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» mat tran xoan oc va ma tran zit zat

Permissions in this forum:Bạn không có quyền trả lời bài viết
Tin Kien Giang K31 :: Cộng Đồng :: Cộng Đồng :: Thảo luận chung-
Chuyển đến