Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Tìm và đổi chỗ phần tử lớn nhất với phần tử nhỏ nhất trong mảng

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Mặc định Tìm và đổi chỗ phần tử lớn nhất với phần tử nhỏ nhất trong mảng

    Các bạn sửa dùm mình với
    Code:
    #include<stdio.h>
    #include<conio.h>
    int max(int a[],int n);
    int min(int a[],int n);
    void nhap(int a[],int &n);
    void hoanvi(int &a,int &b);
    void xuat(int a[],int n);
    void main()
    {       clrscr();
    	int n,c,d,a[100];
    	printf("Nhap n\n");
    	scanf("%d",&n);
    	nhap(a,n);
    	c=max(a,n);
    	d=min(a,n);
    	hoanvi(c,d);
    	printf("Max = %d\n",c);
    	printf("Min =%d\n",d);
            xuat(a,n);
    	getch();
    }
    void nhap(int a[],int &n)
    {
    	for(int i=0;i<n;i++)
    	{
    		printf("a[%d]=",i);
    		scanf("%d",&a[i]);
    	}
    }
    void xuat(int a[],int n)
    {
    	for(int i=0;i<n;i++)
    		printf("%d\t",a[i]);
    }
    void hoanvi(int &a,int &b)
    {
    	int tam;
    	tam=a;
    	a=b;
    	b=tam;
    }
    int max(int a[],int n)
    {
    	int max=a[0];
    	for(int i=0;i<n;i++)
    	{	if(a[i]>max)
    			max=a[i];
    
    
    	}
    	return max;
    }
    int min(int a[],int n)
    {
    	int min=a[0];
    	for(int i=0;i<n;i++)
    	{	if(a[i]<min)
    			min=a[i];
    
    
    	}
    	return min;
    }
    Đã được chỉnh sửa lần cuối bởi yuka89 : 29-07-2008 lúc 04:50 PM. Lý do: code

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất nhiều sóng gió
    Bài viết
    448

    Trích dẫn Nguyên bản được gửi bởi yuka89 Xem bài viết
    Các bạn sửa dùm mình với
    Nó bị làm sao mà phải sửa?

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Đầu bài hơi chuối, mình cũng đã làm một bài kiểu như này: tìm và đổi các giá trị max thành giá trị nguyên và ngược lại.
    Với đề bài trên của bạn, thì mình nghĩ kết quả là hoán vị giá trị của phần tử max đầu tiên và phần tử min đầu tiên của mảng.
    2 hàm tìm Max Min nên trả về vị trí max đầu tiên min đầu tiên thì hay hơn. Kiểu như này nhé:
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    
    int max(int a[],int n);
    int min(int a[],int n);
    void nhap(int a[],int &n);
    void hoanvi(int a[],int n);
    void xuat(int a[],int n);
    
    void main()
    {       
            clrscr();
    	int n,a[100];
    	printf("Nhap n\n");
    	scanf("%d",&n);
    	nhap(a,n);
            xuat(a,n);
    	hoanvi(a,n);
            xuat(a,n);
    	getch();
    }
    
    void nhap(int a[],int &n)
    {
    	for(int i=0;i<n;i++)
    	{
    		printf("a[%d]=",i);
    		scanf("%d",&a[i]);
    	}
    }
    
    void xuat(int a[],int n)
    {
    	for(int i=0;i<n;i++)
    		printf("%d\t",a[i]);
    }
    
    int max(int a[],int n)
    {
    	int max=a[0],t=0;
    	for(int i=0;i<n;i++)
    	{	
                    if(a[i]>max)
                    {
    			max=a[i];t=i;
                    }
    
    
    	}
    	return t;
    }
    
    int min(int a[],int n)
    {
    	int min=a[0];t=0;
    	for(int i=0;i<n;i++)
    	{	
                    if(a[i]<min)
                    {
    			min=a[i];t=i;
                    }
    	}
    	return t;
    }
    
    void hoanvi(int a[],int n)
    {
    	int t1,t2,tam;
            t1=max(a,n);
            t2=min(a,n);
    	tam=a[t1];
    	a[t1]=a[t2];
    	a[t2]=tam;
    }
    để xuất ra giá trị Max Min thì bạn xuất theo địa chỉ của nó nhé.

  4. #4
    Ngày gia nhập
    07 2006
    Bài viết
    121

    Code:
    int max=0, min=0
    for(int i = 0; i < n; i++)
    {
          max = a[i] > a[max] ? i : max;
          min  = a[i] < a[min] ? i : min;
    }
          temp = a[max];
          a[max] = a[min];
          a[min] = temp;

    OoShinHaoO

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

  1. Help giúp tìm phần tử lớn nhất nhỏ nhất trong bảng băm
    Gửi bởi phatnt00 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 03-06-2013, 01:50 PM
  2. Trả lời: 6
    Bài viết cuối: 01-05-2013, 11:10 AM
  3. Socket trong phần mềm chat video, làm thế nào để tín hiệu nhận được nhanh nhất.
    Gửi bởi toctai trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 13-06-2012, 09:19 AM
  4. Bài tập C++ đếm số phần tử yên ngựa (phần tử lớn nhất dòng và nhỏ nhất cột. Hoặc nguợc lại)
    Gửi bởi danielh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 30-06-2011, 10:37 AM
  5. Thủ tục loại bỏ các phần tử trùng nhau, giữ lại duy nhất 1 phần tử trong DSLK
    Gửi bởi mrtyoffline trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-03-2011, 10:27 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