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ố 20 kết quả

Đề tài: Tìm số lớn nhất trong mảng 1 chiều

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

    Question Tìm số lớn nhất trong mảng 1 chiều

    Đề như sau:
    Nhập vào một dãy số thực n phần tử. Tìm số lớn nhất trong mảng (viết bằng hàm).

    Số nguyên thì em giải được còn số thực không biết làm mong các huynh giúp!!!Thank
    Đã được chỉnh sửa lần cuối bởi kahai2k7 : 28-01-2009 lúc 11:52 PM.

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

    Code:
    float mxofarr(){
    int i;
    float max;
           max=a[0];//gan max la so dau tien cua mang
           for(i=1;i<n;i++)
               if(max<a[i]) max=a[i];
           return max;
    }
    số nguyên cũng vậy,có gì khác nhau đâu nhỉ :-?

  3. #3
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Chà chăm chỉ quá, mới mùng 4 tết đã code rồi cơ à ^^ Ok nếu mình không nhầm thì so sánh số nguyên và số thực cũng không khác gì nhau cả. Mình đưa ra ý tưởng bạn code nhé: bạn dùng 1 biến lưu phần tử đầu tiên của mảng sau đó chạy vòng for duyệt qua các phần tử trong mảng từ phần tử thứ 2 tới hết mảng. Sau đó dùng lệnh if so sánh giá trị của biến đã lưu phần tử đầu tiên với các giá trị trong mảng thôi. Nếu ok thì bạn tiến hành hoán đổi giá trị cho nó. Ok nếu có gì không đúng bạn cứ nói. Mình lâu không code C rồi nên chỉ đưa ra được ý tưởng cho bạn thôi.
    ttecak ?

  4. #4
    Ngày gia nhập
    01 2009
    Bài viết
    3

    Em còn gà lắm, bài số nguyên của em như bên dưới còn sửa lại số thực báo lỗi tùm lum:
    Code:
    int max(int a[],int n);//Khai bao prototype
    
    void main()
    {
    clrscr();
    int a[SIZE];
    int n,i;
    printf("\nMuon nhap may so: ");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    	{
    	printf("\nSo thu %d: ",i+1);
    	scanf("%d",&a[i]);
    	}
    printf("\nSo lon nhat la: %d",max(a,n));
    getch();
    }
    
    int max(int a[],int n)
    {
    int i,max; 
    max=a[0]; 		     //cho phan tu dau tien la max
    for(i=1;i<n;i++)
    	{
    	if(max<a[i])	      //neu so dang xet > max
    		max=a[i];  	//gan so nay cho max
    	}
    return max;
    }
    Đã được chỉnh sửa lần cuối bởi kahai2k7 : 29-01-2009 lúc 12:39 AM.

  5. #5
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Đưa lỗi của bạn lên đây mình xem nào
    ttecak ?

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

    Mặc định Tìm số lớn nhất trong mảng 1 chiều

    Chỉ là sửa lại với kiểu float thôi đúng không, bạn chạy thử nhé.
    Code:
    float max(float a[],int n);//Khai bao prototype
    
    void main()
    {
    clrscr();
    float a[SIZE];
    int n,i;
    printf("\nMuon nhap may so: ");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    	{
    	printf("\nSo thu %d: ",i+1);
    	scanf("%f",&a[i]);
    	}
    printf("\nSo lon nhat la: %f",max(a,n));
    getch();
    }
    
    float max(float a[],int n)
    {
    int i;
    float max; 
    max=a[0]; 		     //cho phan tu dau tien la max
    for(i=1;i<n;i++)
    	{
    	if(max<a[i])	      //neu so dang xet > max
    		max=a[i];  	//gan so nay cho max
    	}
    return max;
    }

  7. #7
    Ngày gia nhập
    01 2009
    Bài viết
    3

    Cám ơn các huynh đã trả lời. Đầu tiên cũng sửa giống huynh QuangHoang nhưng báo lỗi chắc sai chỗ khác giờ thì OK. Thankyou!!!!!!!!!!

  8. #8
    Ngày gia nhập
    09 2010
    Bài viết
    2

    Code này mới hôm qua mình test thấy chạy bình thưởng thế mà hôm nay kiểm tra lại thì lại ko chạy được,nó cứ ra max = 42 mình xem đi xem lại mà cũng ko hiểu lí do vì sao, nên đưa lên đây nhờ các bạn xem giúp. Thanks


    PHP Code:
    int a[10],max=a[0];

    printf("\nInsert 10 integer: ");
                for(
    k=0;k<10;k++)
                     {
                         
    scanf("%d",&a[k]);
                     }
                     
    printf("\n10 integer\n");
                     for(
    k=0;k<10;k++)
                     {
                         
    printf("%d\n",a[k]);
                     }
                     
    printf("\nList of number: ");
                     for(
    k=0;k<10;k++)
                     {
                           
    printf("%d ",a[k]);
                     }
                     
    printf("\n\n");
                
                     for(
    k=0;k<10;k++)
                     {
                         if(
    max<a[k])
                         
    max=a[k];
                
                     
    printf("\nThe Max: %d\n\n"max);
                     break;
                     }
                         break; 
    Đã được chỉnh sửa lần cuối bởi peterdrew : 09-09-2010 lúc 05:48 PM. Lý do: Đặt code vào thẻ!

  9. #9
    Ngày gia nhập
    09 2010
    Bài viết
    2

    Không có bác nào vô xem giúp với à :-S

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

    vấn đề là ở đây nè coi kĩ lại đi.
    Code:
    for(k=0;k<10;k++)
    {
    if(max<a[k])
    max=a[k];
    
    printf("\nThe Max: %d\n\n", max);
    break;
    }
    vòng lặp for chỉ chạy đc 1 lần tức là k = 0;
    max = a[0];
    xuất a[0];

    phải là thế này

    Code:
    for(int k = 0; k < 10; k++)
          if(max < a[k])
               max = a[k];
    printf("Max = %d",max);
    bỏ mấy cái break; đi
    mấy cái break ấy để làm gì vậy

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

  1. Mảng trên C++ Tìm hình chữ nhật trong mảng 2 chiều
    Gửi bởi uchiha trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 13-04-2012, 11:37 AM
  2. Cách nhập mảng 2 chiều từ tập tin trong C++?
    Gửi bởi regulus trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 02-04-2011, 10:16 PM
  3. Tìm số lẻ lớn nhất trong mảng 2 chiều?
    Gửi bởi duachuot13 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 20
    Bài viết cuối: 14-10-2010, 10:31 PM
  4. Tìm giá trị phần tử lớn nhất và nhỏ nhất trong mảng 2 chiều
    Gửi bởi vinkt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 15
    Bài viết cuối: 29-08-2010, 11:31 AM
  5. Bài tập C Viết chương trình để tìm giá trị lớn nhất và nỏ nhất trong 1 mảng ( Mảng 1 chiều)
    Gửi bởi vinkt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 26-08-2010, 10:34 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