Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    các bác giúp em phần cuối với

    tình hình là em có bt như sau : Nhập 1 ma trận vuông N x N (0<N<100) đại diện cho kết quả đối đầu giữa N đội bóng. Hãy tìm ra 3 đội có thứ hạng cao nhất biết rằng: - Mỗi đội sẽ không tự thi đấu với chính mình (đại diện giá trị bằng - 1) - Giá trị tại 1 ô bất kỳ A[i,j] là số bàn thắng đội i ghi vào lưới đội j (a[j,j] có thể bằng hoặc khác a[j,i])
    em còn ý tìm ra 3 đội có thứ hạng cao nhất nhưng không làm được.các bác giúp em với. code em đây
    Mã:
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
    	int a[50][50],doi[50],i,j,n,tg;
    	printf("so doi bong ban muon nhap vao la: n= 
    "); scanf("%d",&n);
    	printf("nhap vao ti so !
    ");
    	for (i=0;i<n;++i)
    		for (j=0;j<n;++j)
    		{ 
    			printf("nhap vao ti so doi %d ghi vao luoi doi %d: 
    ",i+1,j+1); scanf("%d",&a[i][j]); 
    		}
    		
    		
    	for (i=0;i<n;++i)
    	{
    		doi[i]=0;
    	}
    	
    	
    	for (i=0;i<n;++i)
    	{
    		for (j=0;j<n;++j)
    		{
    			if(i==j) a[i][j]=0;
    			else
    			{
    				if (a[i][j]>a[j][i])
    				{
    					doi[i]=doi[i]+3;
    				}
    				else 
    				{
    					if (a[i][j]==a[j][i])
    					{
    					doi[i]=doi[i]+1;doi[j]=doi[j]+1;
    					}
    					else
    					doi[j]=doi[j]+3;	
    				}
    			}
    			
    		}
    	}
    	
    	
    	for (i=0;i<n;++i)
    	{
    	printf("diem doi[%d]= %d  ",i+1,doi[i]/2);
    	}
    	
    	
    	getch();
    	return 0;
    	
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chào bạn, để làm tiếp, theo mình bạn nên tạo một class FootballTeam{int indexOfFootballTeam, int score);
    Sau đó, tạo vector<FootballTeam> arrayOfFootballTeam.
    Khởi tạo phần tử cho arrayOfFootballTeam;
    for(int i = 0; i < n; i++)
    {
    FootballTeam fbteam(i+1, doi[i]) //index của đội bóng sẽ theo thứ tự từ 1--> n; score được lấy từ mảng doi
    vector.push_back(fbteam);
    }

    Sau đó, sort giảm dần các phần tử của arrayOfFootballTeam dựa vào score của từng phần tử
    (có thể dùng insert sort http://en.wikipedia.org/wiki/Insertion_sort).
    Và in ra kết quả của 3 phần từ đầu điểm sau khi sắp xếp chính là 3 đội có thứ hạng cao nhất theo thứ tự từ 1-->3.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình mới học về C thôi.các khái niệm về class này mình chưa đc học (

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ^^ std::vector thì cứ std::sort là xong phim.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •