Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Share

ztanzzthanhz
Trung cấp
Trung cấp

Tổng số bài gửi : 60
Points : 100
Join date : 13/11/2009
Age : 27
Đến từ : Bến Tre

Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Bài gửi  ztanzzthanhz on Sat Nov 14, 2009 4:36 am



Code:

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

void swap1(int x, int y);
void swap2(int &x, int &y);
void main(){
   clrscr();
   int a=3;
   int b=5;
   cout<<"a    b"<<endl;
   cout<<a<<"    "<<b<<endl;
   swap1(a,b);
   cout<<a<<"    "<<b<<endl;
   swap2(a,b);
   cout<<a<<"    "<<b<<endl;
   getch();
}

void swap1(int x, int y){
   int tam=x;
   x=y;
   y=tam;
}

void swap2(int &x, int &y){
   int tam=x;
   x=y;
   y=tam;
}
-------------
Admin: cách truyền tham biến này theo C++
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 37
Đến từ : Cần Thơ

Re: Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Bài gửi  admin on Sat Nov 14, 2009 4:30 pm

Đoạn này clip này cũng được đấy, còn ví dụ nào hay hơn không nhỉ!

vo_thanh_long
Nhập môn
Nhập môn

Tổng số bài gửi : 7
Points : 8
Join date : 14/11/2009

Re: Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Bài gửi  vo_thanh_long on Sat Nov 14, 2009 11:31 pm

còn một cách truyền tham chiếu là con trỏ
Code:

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

void swap1(int x, int y);
void swap2(int *x, int *y);
void main(){
   clrscr();
   int a=3;
   int b=5;
   cout<<"a    b"<<endl;
   cout<<a<<"    "<<b<<endl;
   swap1(a,b);
   cout<<a<<"    "<<b<<endl;
   swap2(&a,&b);
   cout<<a<<"    "<<b<<endl;
   getch();
}

void swap1(int x, int y){
   int tam=x;
   x=y;
   y=tam;
}

void swap2(int *x, int *y){
   int tam=*x;
   *x=*y;
   *y=tam;
}
-----------------------
Admin: cách truyền tham biến này theo C
avatar
peterdrew
Nhập môn
Nhập môn

Tổng số bài gửi : 19
Points : 25
Join date : 09/07/2010
Age : 35
Đến từ : Viện Vũ khí_Bộ Quốc phòng

Re: Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Bài gửi  peterdrew on Fri Jul 09, 2010 7:26 pm

Vấn đề truyền tham trị và truyền tham chiếu hiện tại đang là vấn đề khó hiểu của các bạn mới tiếp xúc với ngôn ngữ C; đây là một bài tập cơ bản về hai hình thức truyền giá trị tiêu biểu, nó sẽ giúp cho các bạn nào còn chưa hiểu về nó. Peter rất ủng hộ chủ đề này!
avatar
peterdrew
Nhập môn
Nhập môn

Tổng số bài gửi : 19
Points : 25
Join date : 09/07/2010
Age : 35
Đến từ : Viện Vũ khí_Bộ Quốc phòng

Re: Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Bài gửi  peterdrew on Mon Jul 19, 2010 11:53 am

Admin đã viết:Đoạn này clip này cũng được đấy, còn ví dụ nào hay hơn không nhỉ!


Code:
#include <conio.h>
#include <stdio.h>
void thamtri(int ix, int iy)
{
   ix += 1;
   iy += 1;
}
void thambien(int &ix, int &iy)
{
   ix += 1;
   iy += 1;
}
int main()
{
   int ia = 5,ib = 5;
   thamtri(ia, ib);
   printf("a = %d, b = %d",ia,ib);
   thambien(ia, ib);
   printf("a = %d, b = %d",ia,ib);
   getch();
   return 0;
}
Chúng ta thấy:
- Khi truyền tham trị thì kết quả ia và ib đều không bị thay đổi, và ia=ib=5.
- Khi truyền tham chiếu thì ia và ib được tăng lên 1 đơn vị, ia=ib=6.

Sponsored content

Re: Bài 103. Sử dụng chương trình hoán vị làm ví dụ

Bài gửi  Sponsored content


    Hôm nay: Wed Nov 21, 2018 11:31 am