ThanhTri Member
Tổng số bài gửi : 45 Points : 84 Thanks : 2 Join date : 13/09/2011 Age : 32
| Tiêu đề: Đảo ngược mảng n phần tử Tue Sep 13, 2011 10:38 pm | |
| :D - Code:
-
#include<stdio.h> #include<conio.h> void nhapmang(int a[],int &n) { printf("Nhap so phan tu mang: "); scanf("%d",&n); for(int i=0;i<n;i++) { printf("Nhap a[%d]= ",i); scanf("%d",&a[i]); } } void xuatmang(int a[],int n) { for(int i=0;i<n;i++) printf("%d ",a[i]); } void daonguoc(int a[],int n) { int tam,i; for(i=0;i<n/2;i++) { tam=a[i]; a[i]=a[n-1-i]; a[n-1-i]=tam; } } int main() { int a[50],n; nhapmang(a,n); printf("\nMang sau khi nhap\n"); xuatmang(a,n); daonguoc(a,n); printf("\nMang sau khi dao nguoc\n"); xuatmang(a,n); getch(); }
|
|
NPTT_CTH52 Member
Tổng số bài gửi : 73 Points : 108 Thanks : 0 Join date : 08/09/2011 Age : 31 Đến từ : Việt Nam
| Tiêu đề: Re: Đảo ngược mảng n phần tử Wed Sep 14, 2011 8:56 pm | |
| Giải thích dùm chổ đảo ngược đc ko? ko hỉu lắm!!! |
|
ThanhTri Member
Tổng số bài gửi : 45 Points : 84 Thanks : 2 Join date : 13/09/2011 Age : 32
| Tiêu đề: Re: Đảo ngược mảng n phần tử Wed Sep 14, 2011 11:08 pm | |
| Hì . Cách của mình là hoán vị các phần tử của mảng. Ví du mảng có 5 phần tử dc đánh số thứ tự từ : 0 1 2 3 4 , ban đầu hoán vị vị trí 0 và vị trí 4 với nhau, tiếp theo là vị trí 2 và vị trí kề cuối là 3. Những số ở trước sẽ dc chuyển ra sau và ngược lại, còn số ở vị trí giữa thì giữ nguyên Còn nếu có 6 phần tử thì 0 1 2 3 4 5 , nó có 2 vị trí giữa thì vẫn hoán vị. Nói chung là chia mảng làm 2 (i<n/2) rồi bõ mấy thằng ở khúc đầu ra sau, khúc sau chuyển ra trước , cái này cần 1 biến tạm i<n/2 thi` i chạy từ 0 -->2 (2<6/2); --- i= 0 tam=a[0]; a[0]=a[5]; a[5]=tam; ---i= 1 tam=a[1]; a[1]=a[4]; a[4]=tam; ---i= 2 tam=a[2]; a[2]=a[3]; a[3]=tam; |
|
NPTT_CTH52 Member
Tổng số bài gửi : 73 Points : 108 Thanks : 0 Join date : 08/09/2011 Age : 31 Đến từ : Việt Nam
| Tiêu đề: Re: Đảo ngược mảng n phần tử Thu Sep 15, 2011 9:20 am | |
| Àh thank nha!!! |
|
Admin Admin
Tổng số bài gửi : 84 Points : 117 Thanks : 0 Join date : 06/09/2011 Age : 31 Đến từ : Born From A Bombox
| Tiêu đề: Re: Đảo ngược mảng n phần tử Thu Sep 15, 2011 10:04 am | |
| Hình như trong int main() thiếu return.. |
|
ThanhTri Member
Tổng số bài gửi : 45 Points : 84 Thanks : 2 Join date : 13/09/2011 Age : 32
| Tiêu đề: Re: Đảo ngược mảng n phần tử Thu Sep 15, 2011 10:00 pm | |
| Hì mình sử dụng phần mềm C Free, cái này gần giống turbo và nhẹ(chĩ có 15 MB). Đặc điểm là phải ghi int main và ko cần ghi include<conio.h>, getch(), return. Chứ mình ko cài studio 2003 vì nó so với máy mình thì nặng trich ko chơi dc game. |
|
GingHunter V.i.p
Tổng số bài gửi : 269 Points : 377 Thanks : 1 Join date : 22/09/2011 Age : 31 Đến từ : Việt Nam
| Tiêu đề: Re: Đảo ngược mảng n phần tử Fri Sep 23, 2011 6:49 pm | |
| |
|
Sponsored content
| Tiêu đề: Re: Đảo ngược mảng n phần tử | |
| |
|