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

Đề tài: làm sao có thể in giá trị lớn nhất trong mãn..

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

    Mặc định làm sao có thể in giá trị lớn nhất trong mãn..

    em mới học C, ở Aptech em có thắc mắc như sau :
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    void nhapmang(int a[],int &n)
    {
    	printf(" nhap so phan tu : ");
    	scanf("%d",&n);
    	for( int i = 0; i<n; i++)
    	{
    		printf("nhapmang  %d: ", i);
    		scanf("\n%d", &a[i]);
    	}
    }
    void xuatmang(int a[], int &n)
    {
    	for(int i =0; i<n; i++)
    	{
    		printf("\n man cac so nguyen la : %d \n", a[i]);
    		
    	}
    }
    int gtln(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 gtlnc(int a[],int n)
    {
    	int max = a[0];
    	for(int i =0; i<n; i++)
    	{
    		if((a[i]>max )&&(a[i]%2==0))
    		max= a[i];
    	}
    	return max;
    }
    
    int main ()
    {
    	int a[100], n;
    	
    	nhapmang(a,n);
    	xuatmang(a,n);
    	int kq1 = gtln(a,n);
    	printf("\ngia tri lon nhat la : %d\n", kq1);
    	int kq2 = gtlnc(a,n);
    	printf("gia tri lon nhat tai vi tri chan : %d", kq2);
    
    }
    Thắc mắc của em ở chổ tìm giá trị lớn nhất tại vị trí chẳn, nếu có giá trị bằng nhau và đều là giá trị lớn nhất, thì làm thế nào ạ. làm như em thì chỉ in ra 1 kết quả, mà không biết phần tử nào có giá trị lớn nhất. mong anh chị giúp đở. em cám ơn nhiều.
    Dù mắt ta nhắm hay mở ....
    Trong lòng ta vẫn hướng về con đường đã chọn......

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

    Sửa đoạn này:

    C Code:
    1.     int kq2 = gtlnc(a,n);
    2.     printf("gia tri lon nhat tai vi tri chan : %d", kq2);

    Thành

    C Code:
    1.     int kq2 = gtlnc(a,n);
    2.     printf("gia tri lon nhat tai vi tri chan : %d", kq2);
    3.     printf("\n o cac vi tri sau :"
    4.         for (int i=0; i<n; i++)
    5.              if (a[i]==kq2)   printf(" %d", i);

    tb "giá trị chẵn lớn nhất" khác với "giá trị lớn nhất tại vị trí chẵn"
    Tuy nhiên, hàm gtlnc của bạn "giá trị chẵn lớn nhất" chứ không phải "giá trị lớn nhất tai vị trí chẵn"

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

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Sửa đoạn này:

    C Code:
    1.     int kq2 = gtlnc(a,n);
    2.     printf("gia tri lon nhat tai vi tri chan : %d", kq2);

    Thành

    C Code:
    1.     int kq2 = gtlnc(a,n);
    2.     printf("gia tri lon nhat tai vi tri chan : %d", kq2);
    3.     printf("\n o cac vi tri sau :"
    4.         for (int i=0; i<n; i++)
    5.              if (a[i]==kq2)   printf(" %d", i);

    tb "giá trị chẵn lớn nhất" khác với "giá trị lớn nhất tại vị trí chẵn"
    Tuy nhiên, hàm gtlnc của bạn "giá trị chẵn lớn nhất" chứ không phải "giá trị lớn nhất tai vị trí chẵn"
    Bên đề bài mình ra : tìm giá trị chẳn lớn nhất tại vị trí lẽ. mình đang học hàm với mãn.
    Dù mắt ta nhắm hay mở ....
    Trong lòng ta vẫn hướng về con đường đã chọn......

  4. #4
    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 loinguyen Xem bài viết
    Bên đề bài mình ra : tìm giá trị chẳn lớn nhất tại vị trí lẽ. mình đang học hàm với mãn.
    1. Hàm gtlnc không hề lý tới yếu tố vị trí lẻ. Nếu muốn tính vị trì lẻ thì vòng lặp phải bắt đầu từ 1 và mỗi lượt tăng lên 2.

    2. Đồng thời, nếu trong mảng không có số chẵn thì hàm này cho ra kết quả sai, vì hàm mặc định max là a[0] mà lúc ấy a[0] không phải là số chẵn.

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

  1. Trả lời: 6
    Bài viết cuối: 01-05-2013, 11:10 AM
  2. 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
  3. Tim từ ngắn nhất và dài nhất trong chuổi lỗi has stopped working?
    Gửi bởi satthuprao trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 3
    Bài viết cuối: 27-05-2012, 11:51 AM
  4. Code cho ẩn kí tự khi nhập password vào textbox trong form đăng nhập
    Gửi bởi mrkiemhiep trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 16-03-2011, 11:10 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