Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 18 kết quả

Đề tài: Truy cập đến biến private từ 1 hàm khác

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Mặc định Truy cập đến biến private từ 1 hàm khác

    Mình có bài này .Đây là bài tập kế thừa trong c++, mình lưu dữ liệu vào 1 mảng.Vấn đề xảy ra o void sapxep(). Chỗ mình gạch chân .Mình không truy cập dc đến biến private của class khachhang,mình đang muốn tạo 1 hàm layte() như ở code dưới để có thể truy cập được vào biến private nhưng báo lỗi "cannot convert 'char *' to 'char' " .Mong mọi ng giup đỡ
    Code:
    #include<iostream.h>
    #include<iomanip.h>
    #include<string.h>
    #include<conio.h>
    #include<stdio.h>
    //using namespace std;
    class khachhang{
    	private:
    		char tenkh[30];
    	public:
    		khachhang()
    		{
    			strcpy(tenkh,"eric");
    		}
    	void nhap()
    		{
    			cout<<"\nten khach hang: ";
    			cin.ignore().get(tenkh,30);
    		}
    	void in()
    		{
    			cout<<"\n ten khach hang :"<<setw(10)<<tenkh;
    		}
    	char layten()
    		{
    		return tenkh;
    		}
    };
    class hoadon : public khachhang{
    	private:
    		char sohieuct[20];
    		float sodiensd;
    		static int giadien;
    	public:
    		 hoadon()
    		{
    			strcpy(sohieuct,"mct1");
    			sodiensd=100;
    		}
    		void nhaphd()
    		{
    			cout<<"\nnhap ho hieu cong to: ";
    			cin.ignore().get(sohieuct,20);
    			cout<<"\nnhap so dien su dung: ";
    			cin>>sodiensd;
    			cout<<"\n------------------------------";
    		}
    		void hien()
    		{	cout<<"\n---------";
    			in();
    			cout<<"\nso hieu cong to : "<<setw(10)<<sohieuct;
    			cout<<"\nso dien su dung : "<<setw(10)<<sodiensd;
    		}
    		float tinhtien()
    		{
    			float t;
    			t=sodiensd*giadien;
    			t=t+((t*10)/100);
    			return t;
    		}
    };
    void sapxep(hoadon b[],int n)
    	{int i,j;
    	hoadon tg;
    	 for(i=0;i<n-1;i++)
    		for(j=i+1;j<n;j++)
    			if(strcmp(b[i].layten(),b[j].layten())>0)
    				{
    				 tg=b[i];
    				 b[i]=b[j];
    				 b[j]=tg;
    				}
    	}
    void main()
    {
    hoadon a[100];
    int n=0;
    int s;
    clrscr();
    do{
    cout<<"\n-------------MENU------------";
    cout<<"\n 1.Nhap them hoa don";
    cout<<"\n 2.Sap xep theo ten khac hang" ;
    cout<<"\n 3.Hien DS vua nhap";
    cout<<"\n 7.Thoat";
    cout<<"\n Ban chon so:";cin>>s;
    if(s==1)
    	{
    	a[n].nhap();
    	a[n].nhaphd();
    	n++;
    	}
    if(s==2)
    	{
    	sapxep(a,n);
    	}
    if(s==3)
    {
    cout<<"\n DS vua nhap";
    for(int i=0;i<n;i++)
    {   a[i].hien(); }
    }
    if(s==7)
    {
    break;
    }
    }while(1);
    cout<<endl;
    getch();
    //system("pause");
    }

  2. #2
    Ngày gia nhập
    10 2011
    Bài viết
    552

    C++ Code:
    1. char layten()
    2.         {
    3.         return tenkh;
    4.         }
    Hàm đó phải là char *layten() đó bạn hiền ^^
    Để mình phân tích lỗi cho bạn , lần sau bạn gặp tương tự thì có thể tự xử lý dc :
    (strcmp(b[i].layten(),b[j].layten())>0) <<<--- Báo lỗi chỗ này. Lỗi bảo là ko thể "ép buộc" 1 cái "char *" thành 1 cái "char" được
    Mà cái strcmp nhận đầu vào là các chuỗi (char *) . Vậy sẽ có cái gì đó đóng vai trò là "char" thì nó mới báo lỗi
    Cho nên cái lỗi này thể nào cũng do cái đối số đầu vào của nó đây ... Nhìn vào thấy có cái layten() ...
    Lật lên xem cái layten() viết như thế nào ... Thì lòi ra cái đó
    ___
    Câu hỏi rất cụ thể, rõ ràng, dễ theo dõi-> dễ giúp đỡ
    p/s: Cái class hoadon viết đẹp thế mà sao đến cái hàm xapxep(...) bạn viết cẩu thả vậy ? Thồi thụt linh tinh cả ra
    Cả cái chỗ main nữa chứ ...
    Đã được chỉnh sửa lần cuối bởi clchicken : 10-01-2012 lúc 10:44 PM.
    Um Mani Padme Hum...!!

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    C++ Code:
    1. char layten()
    2.        
    3.         return tenkh;
    4.         }
    Hàm đó phải là char *layten() đó bạn hiền ^^
    Để mình phân tích lỗi cho bạn , lần sau bạn gặp tương tự thì có thể tự xử lý dc :
    (strcmp(b[i].layten(),b[j].layten())>0) <<<--- Báo lỗi chỗ này. Lỗi bảo là ko thể "ép buộc" 1 cái "char *" thành 1 cái "char" được
    Mà cái strcmp nhận đầu vào là các chuỗi (char *) . Vậy sẽ có cái gì đó đóng vai trò là "char" thì nó mới báo lỗi
    Cho nên cái lỗi này thể nào cũng do cái đối số đầu vào của nó đây ... Nhìn vào thấy có cái layten() ...
    Lật lên xem cái layten() viết như thế nào ... Thì lòi ra cái đó
    ___
    Câu hỏi rất cụ thể, rõ ràng, dễ theo dõi-> dễ giúp đỡ
    p/s: Cái class hoadon viết đẹp thế mà sao đến cái hàm xapxep(...) bạn viết cẩu thả vậy ? Thồi thụt linh tinh cả ra
    Cả cái chỗ main nữa chứ ...
    Thanx bạn,mình đã sửa xong.Đoạn khai báo class là mình viết,còn thằng bạn no viết main
    Bây bài mình có 1 câu hỏi mình làm mãi không được.Câu hỏi là "TInh va in tong tien fai dong cua tung khach hang".Cái này động đến biến static nên mình cũng không biết khai báo và xử lý thế nào ,mong mọi người giúp đỡ
    Code:
    #include<iostream.h>
    #include<iomanip.h>
    #include<string.h>
    #include<conio.h>
    #include<stdio.h>
    //using namespace std;
    class khachhang{
    	private:
    		char tenkh[30];
    	public:
    		khachhang()
    		{
    			strcpy(tenkh,"eric");
    		}
    	void nhap()
    		{
    			cout<<"\nten khach hang: ";
    			cin.ignore().get(tenkh,30);
    		}
    	void in()
    		{
    			cout<<"\n ten khach hang :"<<setw(10)<<tenkh;
    		}
    	char *layten()
    		{
    		return tenkh;
    		}
    };
    class hoadon : public khachhang{
    	private:
    		char sohieuct[20];
    		float sodiensd;
    		static int giadien;
    	public:
    		
    		 hoadon()
    		{
    			strcpy(sohieuct,"mct1");
    			sodiensd=100;
    		}
    		void nhaphd()
    		{
    			cout<<"\nnhap ho hieu cong to: ";
    			cin.ignore().get(sohieuct,20);
    			cout<<"\nnhap so dien su dung: ";
    			cin>>sodiensd;
    			cout<<"\n------------------------------";
    		}
    		void hien()
    		{	cout<<"\n---------";
    			in();
    			cout<<"\nso hieu cong to : "<<setw(10)<<sohieuct;
    			cout<<"\nso dien su dung : "<<setw(10)<<sodiensd;
    		}
    		float tinhtien()
    		{
    			float t;
    			t=sodiensd*giadien;
    			t=t+((t*10)/100);
    			return t;
    		}
    		int sodien()
    		{
    			return sodiensd;
    		}
    /*		int gd()
    		{
    		 return giadien;
    		} */
    };
    void sapxep(hoadon b[],int n)
    	{int i,j;
    	hoadon tg;
    	 for(i=0;i<n-1;i++)
    	 for(j=i+1;j<n;j++)
    	   if(strcmp(b[i].layten(),b[j].layten())>0)
    		{
    		 tg=b[i];
    		 b[i]=b[j];
    		 b[j]=tg;
    		}
    	}
    void tongsodien(hoadon b[],int n)
    	{
    	int tong,i;
    	tong=0;
    	for(i=0;i<n;i++)
    		{
    		tong = tong + b[i].sodien();
    		}
    	cout<<"\ntong so dien su dung cua tat ca khach hang la: "<<setw(10)<<tong;
    	}
    /*int lap(hoadon b[],int v,char *tg)
    	{
    	for(;v>=0;v--)
    	      {	if(strcmp(b[v].layten(),tg)==0)
    		return 1;}
    	return 0;
    	}
    void tongtien(hoadon b[],int n)
    	{
    	char *t;
    	int i,j,l,tong;
    	for(i=0;i<n-1;i++)
    		{
    		t=b[i].layten();
    		for(j=i+1;j<n;j++);
    		l=lap(b,i,t);
    		 if((strcmp(t,b[j].layten())==0)&&(l=0))
    			{
    			 ......
    			}
    	       }
    }*/
    void main()
    {
    hoadon a[100];
    int n=0;
    int s;
    clrscr();
    	do
    	{
    	cout<<"\n-------------MENU------------";
    	cout<<"\n 1.Nhap them hoa don";
    	cout<<"\n 2.Sap xep theo ten khac hang" ;
    	cout<<"\n 3.Hien DS vua nhap";
    	cout<<"\n 4.Tinh tong so dien";
    	cout<<"\n 8.Thoat";
    	cout<<"\n Ban chon so:";cin>>s;
    		if(s==1)
    		{
    		   a[n].nhap();
    		   a[n].nhaphd();
    		   n++;
    		}
    		if(s==2)
    		{
    		   sapxep(a,n);
    		}
    		if(s==3)
    		{
    		   cout<<"\n DS vua nhap";
    		   for(int i=0;i<n;i++)
    		   {
    			a[i].hien();
    		   }
    		}
    		if(s==4)
    		{
    		   tongsodien(a,n);
    		}
    		if(s==8)
    		{
    		break;
    		}
    }while(1);
    cout<<endl;
    getch();
    //system("pause");
    }
    Như ở trên chỗ gạch chẩn đỏ.Mình định làm 1 cái giải thuật thê này.cho 1 hàm for chạy từ đầu,đặt 1 biến để lưu tên của vi trí đầu tiên,rồi nó chạy tiếp nếu gặp thằng nào trùng tên nó sẽ cộng tổng tiền(theo hàm tinhtien()) và in ra .Nếu nó đễn vị chí tiếp theo,ở mỗi vị trí nó dừng nó sẽ kiểm tra ngược lại đầu xem no đã xuất hiện hay ko,nếu xuất hiện rồi sẽ bỏ qua ko cộng,nếu chưa thi no lai tim những thằng tên giống nó để cộng tiếp. Cái hàm lặp để thực hiên việc chay ngược lại đầu để so sánh xem nó đã xuất hiện chưa.Ai hảo tâm giúp minh lam cái đoạn này với.
    Đã được chỉnh sửa lần cuối bởi thitcholaotien : 11-01-2012 lúc 03:46 PM.

  4. #4
    Ngày gia nhập
    10 2011
    Bài viết
    552

    1) Bạn hãy nhớ là các Phương thức trong class là chỉ làm cho 1 và chỉ 1 đối tượng. Cho nên CÔNG VIỆC này ko được viết như 1 phương thức, phải viết hàm kiểu khác.
    2) Trên thực tế ko ai làm công việc là vừa tính tổng toàn bộ (group) của từng "khóa" , và trên toàn list cả . Mà họ chỉ thực hiẹn trên 1 khóa kiểu như : nhập vào tên Tèo, xem tổng tiền của Tèo phải trả là bao nhiêu ...

    3) TUy nhiên nếu bạn muốn làm cái này thì đừng nên làm giải thuật đó. Rất cực: Có thể dùng cách này có vẻ nhẹ nhàng
    Thay vào đó ta cho 1 mảng kiểu int có kích thước = số phần tử của mảng cần duyệt(hoadon) để đánh dấu . Tạm gọi là mảng ĐÁNH DẤU
    Khởi tạo nó = 0 cả. Và cứ 1 cái "khóa" tên mà bạn đã đi qua rồi (tức đã cộng tiền vào tính rồi) thì đánh dấu vào mảng ĐÁNH DẤU tại vị trí phần tử đó, giá trị nó = 1(gọi là bật cờ)
    Cứ thế . Cho duyệt mảng hóa đơn và tính tổng tiền. Cứ 1 phần tử tại HÓA ĐƠN thì ta liếc sang mảng ĐÁNH DẤU xem nó đã dc nhòm tới chưa? Chưa nhòm thì ta ... xử nó . Mà nhòm rồi thì ta lơ đi , qua thằng khác khám

    Heheh, bạn edit lại bài cho nên bài ko dc hiển thị ở status "Bài mới". Đôi khi chấp hành nội quy cũng cực . Tìm cách lách luật xem sao
    Đã được chỉnh sửa lần cuối bởi clchicken : 12-01-2012 lúc 05:55 PM.
    Um Mani Padme Hum...!!

  5. #5
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    1) Bạn hãy nhớ là các Phương thức trong class là chỉ làm cho 1 và chỉ 1 đối tượng. Cho nên CÔNG VIỆC này ko được viết như 1 phương thức, phải viết hàm kiểu khác.
    2) Trên thực tế ko ai làm công việc là vừa tính tổng toàn bộ (group) của từng "khóa" , và trên toàn list cả . Mà họ chỉ thực hiẹn trên 1 khóa kiểu như : nhập vào tên Tèo, xem tổng tiền của Tèo phải trả là bao nhiêu ...

    3) TUy nhiên nếu bạn muốn làm cái này thì đừng nên làm giải thuật đó. Rất cực: Có thể dùng cách này có vẻ nhẹ nhàng
    Thay vào đó ta cho 1 mảng kiểu int có kích thước = số phần tử của mảng cần duyệt(hoadon) để đánh dấu . Tạm gọi là mảng ĐÁNH DẤU
    Khởi tạo nó = 0 cả. Và cứ 1 cái "khóa" tên mà bạn đã đi qua rồi (tức đã cộng tiền vào tính rồi) thì đánh dấu vào mảng ĐÁNH DẤU tại vị trí phần tử đó, giá trị nó = 1(gọi là bật cờ)
    Cứ thế . Cho duyệt mảng hóa đơn và tính tổng tiền. Cứ 1 phần tử tại HÓA ĐƠN thì ta liếc sang mảng ĐÁNH DẤU xem nó đã dc nhòm tới chưa? Chưa nhòm thì ta ... xử nó . Mà nhòm rồi thì ta lơ đi , qua thằng khác khám

    Heheh, bạn edit lại bài cho nên bài ko dc hiển thị ở status "Bài mới". Đôi khi chấp hành nội quy cũng cực . Tìm cách lách luật xem sao
    Thật lòng mà nói thì mình cũng thấy câu này nó chuối,nếu làm trên sql thì bình thương,nhưng làm trên c++ mới chán.Làm cái topic mới thì chắc là bị del.Mình sẽ cố gắng thử theo cách của bạn xem sao.Thanx nhìu,có gì mình lại post lên đây nha

  6. #6
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Mặc định Truy cập đến biến private từ 1 hàm khác

    SQL là 1 ngôn ngữ phi thủ tục cho nên ta không cần bận tâm nó làm việc gì. Chỉ việc đưa input rồi nó đẩy ra cho ta output .
    Lập trình thì lại khác , anh phải biết tường tận công việc sẽ thực hiện như thế nào ^^ Bước này làm gì, bước kia làm gì
    SQL nó vận dụng các tư tưởng của ngôn ngữ thủ tục đấy bạn
    ___
    Bài này đề bắt bạn làm trên C++ có nghĩa là để xem bạn hiểu cách "truy vấn" đó như thế nào ^^ Nội tình sâu bên trong câu lệnh select đó nó sẽ làm cái gì
    Um Mani Padme Hum...!!

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi thitcholaotien Xem bài viết
    Thật lòng mà nói thì mình cũng thấy câu này nó chuối,nếu làm trên sql thì bình thương,nhưng làm trên c++ mới chán.Làm cái topic mới thì chắc là bị del.Mình sẽ cố gắng thử theo cách của bạn xem sao.Thanx nhìu,có gì mình lại post lên đây nha
    So sánh thế này thì cũng giống như so máy bay với tầu ngầm, cái nào tốt hơn.

    SQL lúc IBM đặt ra là viết tắt của Structured Query Language
    Theo đúng cái tên, nó là ngôn ngữ dùng để truy vấn dữ liệu. Nếu dữ liệu nằm đúng dạng đòi hỏi của nó thì đương nhiên nó phải truy vấn tốt hơn các ngôn ngữ khác rồi. Dữ liệu truy vấn không đúng dạng đòi hỏi của nó thì nó cùi.

    C/C++ là ngôn ngữ lập trình, và ở đây dùng để xào nấu dữ liệu thô. Đương nhiên dữ liệu thô thì phải xào nấu cực hơn rồi.

    Nếu SQL truy vấn một cái file Excel ngon lành thì 90% công nằm ở cái Interface Engine bên trong cho phép gọp dữ liệu Excel theo đúng chuẩn SQL chứ đâu phải của SQL. Hầu hết các Interface Engines được viết bằng C/C++.

  8. #8
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Vẫn với bài cũ mình hỏi hôm trước.Mình đã thử làm theo 1 bạn góp ý nhưng không được, nên mình lại làm bài này theo giải thuật của minh.Câu hỏi là tính tiền và in ra tổng tiền theo từng khách hàng.Mình định làm giải thuật là tại mỗi vị trí của mảng ds ,sẽ kiểm tra xem tên tại vị trí đấy đã tồn tại ở vị trí trước nó hay chưa,nếu chưa thì sẽ cộng tiên,nếu rồi sẽ bỏ qua và đến vị trí tiếp theo.Mình đã giải thích trong ghi chú ở đoạn code chữ đỏ.Minhf chạy thì chương trình ko báo lỗi,nhưng có vẻ là nó ko chạy vào hàm for để in ra của mình.Mình cho chạy trên tc ấn f7 nhưng nó ko chạy debug từng dòng lệnh nên mình ko hiểu sai chỗ nào,loay hoay mãi thôi code lên nhờ mọi ng giúp đỡ
    Code:
    #include<iostream.h>
    #include<iomanip.h>
    #include<string.h>
    #include<conio.h>
    #include<stdio.h>
    //using namespace std;
    class khachhang{
    	private:
    		char tenkh[30];
    	public:
    		khachhang()
    		{
    			strcpy(tenkh,"eric");
    		}
    	void nhap()
    		{
    			cout<<"\nten khach hang: ";
    			cin.ignore().get(tenkh,30);
    		}
    	void in()
    		{
    			cout<<"\n ten khach hang :"<<setw(10)<<tenkh;
    		}
    	char *layten()
    		{
    		return tenkh;
    		}
    };
    class hoadon : public khachhang{
    	private:
    		char sohieuct[20];
    		float sodiensd;
    
    	public:
    		int giadien;
    		 hoadon()
    		{
    			strcpy(sohieuct,"mct1");
    			sodiensd=100;
    		}
    		void nhaphd()
    		{
    			cout<<"\nnhap ho hieu cong to: ";
    			cin.ignore().get(sohieuct,20);
    			cout<<"\nnhap so dien su dung: ";
    			cin>>sodiensd;
    			cout<<"\n------------------------------";
    		}
    		void hien()
    		{	cout<<"\n---------";
    			in();
    			cout<<"\nso hieu cong to : "<<setw(10)<<sohieuct;
    			cout<<"\nso dien su dung : "<<setw(10)<<sodiensd;
    		}
    		float tinhtien()
    		{
    			float t;
    			t=sodiensd*giadien;
    			t=t+((t*10)/100);
    			return t;
    		}
    		int sodien()
    		{
    			return sodiensd;
    		}
    /*		int gd()
    		{
    		 return giadien;
    		} */
    };
    void sapxep(hoadon b[],int n)
    	{int i,j;
    	hoadon tg;
    	 for(i=0;i<n-1;i++)
    	 for(j=i+1;j<n;j++)
    	   if(strcmp(b[i].layten(),b[j].layten())>0)
    		{
    		 tg=b[i];
    		 b[i]=b[j];
    		 b[j]=tg;
    		}
    	}
    void tongsodien(hoadon b[],int n)
    	{
    	int tong,i;
    	tong=0;
    	for(i=0;i<n;i++)
    		{
    		tong = tong + b[i].sodien();
    		}
    	cout<<"\ntong so dien su dung cua tat ca khach hang la: "<<setw(10)<<tong;
    	}
    int lap(hoadon b[],int v,char *tg)
    	{
    	for(;v>=0;v--)
    	      {	if(strcmp(b[v].layten(),tg)==0)
    		return 1;}
    	return 0;
    	}
    void tongtien(hoadon b[],int n)
    	{
    	char *t;
    	int i,j,l;
            float tong;
    	for(i=0;i<n-1;i++)
    		{
    		t=b[i].layten();//dat t= gia tri ten dau tien cua ds
    		l=lap(b,i,t);//kt xem t da xuat hien truoc do hay chua
    		 if(l==0)//=0 tuc la no chưa xuat hien o truoc do
    			{
    			for(j=i+1;j<n;j++)//cho chay 1 vong for de tim nhung vi tri co ten trung voi no
    				{
    				if(strcmp(b[i].layten(),b[j].layten())==0)//neu tim thay vi tri ten trung voi no
    					{
    					tong=b[i].tinhtien();//dat tong = gia tri tinh tien tai i
    					tong=tong+b[j].tinhtien();//gap vi tri trung ten voi b[i] thi lay tong
    					cout<<setw(1)<<b[i].layten()<<" : "<<setw(1)<<tong;//in ra
    					}
    				}
    			}
    		}
    	}
    void main()
    {
    hoadon a[100];
    int n=0;
    int s;
    clrscr();
    	do
    	{
    	cout<<"\n-------------MENU------------";
    	cout<<"\n 1.Nhap them hoa don";
    	cout<<"\n 2.Sap xep theo ten khac hang" ;
    	cout<<"\n 3.Hien DS vua nhap";
    	cout<<"\n 4.Tinh tong so dien";
    	cout<<"\n 7.Tong tien tung khach hang";
    	cout<<"\n 8.Thoat";
    	cout<<"\n Ban chon so:";cin>>s;
    		if(s==1)
    		{
    		   a[n].nhap();
    		   a[n].nhaphd();
    		   n++;
    		}
    		if(s==2)
    		{
    		   sapxep(a,n);
    		}
    		if(s==3)
    		{
    		   cout<<"\n DS vua nhap";
    		   for(int i=0;i<n;i++)
    		   {
    			a[i].hien();
    		   }
    		}
    		if(s==4)
    		{
    		   tongsodien(a,n);
    		}
    		if(s==7)
    		{
    			tongtien(a,n);
    		}
    		if(s==8)
    		{
    		break;
    		}
    }while(1);
    cout<<endl;
    getch();
    //system("pause");
    }
    Nó không báo lỗi nhé,chạy bt nhưng ấn số 7 thì ko ra gì cả.Cả nhà xem hộ mấy cái vòng lặp nhé.Mong cả nhà giúp đỡ
    Đã được chỉnh sửa lần cuối bởi thitcholaotien : 15-01-2012 lúc 07:43 PM.

  9. #9
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Bạn thử mà ko được ?? Nghĩa là thử như thế nào ?
    Hãy vẽ ra giấy giải thuật mà mình đã nêu.
    Vẽ 2 cái mảng, mảng trên là mảng hóa đơn, mảng dưới là mảng đánh dấu.

    Làm công việc đi duyệt như thế. Thằng nào duyệt qua 1 lần rồi thì ko duyệt lại nữa
    Um Mani Padme Hum...!!

  10. #10
    Ngày gia nhập
    03 2011
    Bài viết
    151

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    Bạn thử mà ko được ?? Nghĩa là thử như thế nào ?
    Hãy vẽ ra giấy giải thuật mà mình đã nêu.
    Vẽ 2 cái mảng, mảng trên là mảng hóa đơn, mảng dưới là mảng đánh dấu.

    Làm công việc đi duyệt như thế. Thằng nào duyệt qua 1 lần rồi thì ko duyệt lại nữa
    ok,mình rất cám ơn sự góp ý của bạn,mình sẽ cố gắng làm theo cách bạn bày nhưng mình nghĩ cái giải thuật của minh cũng có khả thi và trước khi mình làm theo cách của bạn mình muốn thử xem ý nghĩ của mình giải bài toán có dc hay ko.Mỗi người có 1 chút cố chấp mà.Cả nhà giúp với

Các đề tài tương tự

  1. Về vấn đề truy thành phần private
    Gửi bởi ductri_vn trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 6
    Bài viết cuối: 10-09-2013, 04:22 PM
  2. Lập trình C++ Làm sao để truy xuất thuộc tính private của lớp cha
    Gửi bởi luongvancong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 13
    Bài viết cuối: 27-10-2011, 05:00 PM
  3. Bài tập C++ sử dụng class, làm thế nào truy cập vào biến private?
    Gửi bởi zenstorm trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 07-11-2010, 03:03 PM
  4. Lỗi private trong việc truy xuất lớp
    Gửi bởi small_ant trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 28-09-2010, 08:19 PM
  5. Truy cập private lớp cơ sở
    Gửi bởi Ipv6 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 05-04-2009, 12:03 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn