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

Đề tài: Mọi người giải thích giùm em đề bài này cái

  1. #1
    Ngày gia nhập
    03 2007
    Nơi ở
    Nhà hát của những giấc mơ
    Bài viết
    33

    Mặc định Mọi người giải thích giùm em đề bài này cái

    Không dùng mảng, hãy nhập một dãy số nguyên và chỉ ra vị trí của số bé nhất, lớn nhất.

    Ở đây chỉ có thể dùng con trỏ . Nếu mình khai báo int* a=new int[n];
    thế này có phải là liên quan đến mảng ko ạ
    Mong các bác giúp đỡ

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Viết nháp bằng notepad chưa test nên không biết đúng sai.
    Bài này có trên forum lâu rồi. Hồi đầu năm ^^

    PHP Code:
    #include <stdio.h>
    #include <limits.h>

    int max(int a int b)
    {
        return ( 
    );
    }

    int min(int a int b)
    {
        return ( 
    );
    }

    int main(void)
    {
        
    int cnt;
        
    int min INT_MAXmax INT_MIN;
        
    int inNum;

        
    printf(" Muon nhap bao nhieu so : ");
        
    scanf("%d",&cnt);

        while ( 
    cnt )
        {
            
    printf("\n Nhap vao 1 so: "); 
            
    scanf("%d",&inNum);
            
    min min(mininNum);
            
    max max(maxinNum);
            
    cnt--;
        }

        
    printf("\n- Max = %d " max);
        
    printf("\n- Min = %d " min);


        return 
    0;

    None!

  3. #3
    Ngày gia nhập
    03 2007
    Nơi ở
    Nhà hát của những giấc mơ
    Bài viết
    33

    Trích dẫn Nguyên bản được gửi bởi Xcross87 Xem bài viết
    Viết nháp bằng notepad chưa test nên không biết đúng sai.
    Bài này có trên forum lâu rồi. Hồi đầu năm ^^

    PHP Code:
    #include <stdio.h>
    #include <limits.h>

    int max(int a int b)
    {
        return ( 
    );
    }

    int min(int a int b)
    {
        return ( 
    );
    }

    int main(void)
    {
        
    int cnt;
        
    int min INT_MAXmax INT_MIN;
        
    int inNum;

        
    printf(" Muon nhap bao nhieu so : ");
        
    scanf("%d",&cnt);

        while ( 
    cnt )
        {
            
    printf("\n Nhap vao 1 so: "); 
            
    scanf("%d",&inNum);
            
    min min(mininNum);
            
    max max(maxinNum);
            
    cnt--;
        }

        
    printf("\n- Max = %d " max);
        
    printf("\n- Min = %d " min);


        return 
    0;

    Em hỏi nếu dùng con trỏ như trên thì có liên quan đến mảng ko vậy

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

    làm thế này làm sao có thể in ra vị trí của số lớn nhất và nhỏ nhất!!!!, thu hai là, nếu kai báo tên hàm trùng với tên biến sẻ bị báo lỗi, dựa theo bài trên mình làm như sau:
    Code:
    #include <stdio.h> 
    #include <limits.h> 
    int timmin(int min,int inNum,int i,int &imin) 
    { 
        if (min>inNum)
    	{
    		imin=i;
    		return inNum;
    	}
    	else return min;
    } 
    
    int timmax(int max,int inNum,int i,int &imax) 
    { 
        if (max<inNum)
    	{
    		imax=i;
    		return inNum;
    	}
    	else return max;
    } 
    
    int main(void) 
    { 
        int cnt;
    	int i=0,imax=0,imin=0;
        int min = 10000, max = -10000; 
        int inNum; 
        printf(" Muon nhap bao nhieu so : "); 
        scanf("%d",&cnt); 
        while (i<cnt) 
        { 
            printf("a[%d]= ",i);  
            scanf("%d",&inNum); 
            min = timmin(min, inNum,i,imin); 
            max = timmax(max, inNum,i,imax); 
            i++; 
        } 
        printf("Phan tu lon nhat la %d o vi tri %d ",max,imax); 
        printf("\nPhan tu nho nhat la %d o vi tri %d\n",min,imin); 
        return 0; 
    }
    Cảnh cáo: Source thì đặt trong thẻ [ C O D E ]. Cảm ơn. Xcross87
    Đã được chỉnh sửa lần cuối bởi Xcross87 : 16-10-2007 lúc 05:32 PM.

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

    a nếu khai báo như bạn dương nhiên là bạn đã dùng một mảng các con trỏ rồi thì nó vẫn xem như là bạn đã dùng mảng rồi!!!!

  6. #6
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Mặc định Mọi người giải thích giùm em đề bài này cái

    Ko dùng mảng, ko dùng con trỏ, chỉ cần 1 biến nhập số, 1 biến đếm, 1 biến max, 1 biến min và 2 biến lưu vết là có thể giải quyết bài toán trên, ko cần xác nhận người ta nhập bao nhiêu số luôn, cho nhập tới chán thì thôi. Điều đó hoàn toàn có thể làm được, cho mình 1 chút thời gian để viết code, đang bận nên chỉ nói được ý tưởng thôi.

  7. #7
    Ngày gia nhập
    09 2007
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi chanphat01001 Xem bài viết
    làm thế này làm sao có thể in ra vị trí của số lớn nhất và nhỏ nhất!!!!, thu hai là, nếu kai báo tên hàm trùng với tên biến sẻ bị báo lỗi, dựa theo bài trên mình làm như sau:
    Code:
    #include <stdio.h> 
    #include <limits.h> 
    int timmin(int min,int inNum,int i,int &imin) 
    { 
        if (min>inNum)
    	{
    		imin=i;
    		return inNum;
    	}
    	else return min;
    } 
    
    int timmax(int max,int inNum,int i,int &imax) 
    { 
        if (max<inNum)
    	{
    		imax=i;
    		return inNum;
    	}
    	else return max;
    } 
    
    int main(void) 
    { 
        int cnt;
    	int i=0,imax=0,imin=0;
        int min = 10000, max = -10000; 
        int inNum; 
        printf(" Muon nhap bao nhieu so : "); 
        scanf("%d",&cnt); 
        while (i<cnt) 
        { 
            printf("a[%d]= ",i);  
            scanf("%d",&inNum); 
            min = timmin(min, inNum,i,imin); 
            max = timmax(max, inNum,i,imax); 
            i++; 
        } 
        printf("Phan tu lon nhat la %d o vi tri %d ",max,imax); 
        printf("\nPhan tu nho nhat la %d o vi tri %d\n",min,imin); 
        return 0; 
    }
    Cảnh cáo: Source thì đặt trong thẻ [ C O D E ]. Cảm ơn. Xcross87

    giả sử a[i]=a[j]=min => bác xác định vị trí min như thế nào?

  8. #8
    Ngày gia nhập
    11 2006
    Bài viết
    633

    giả sử a[i]=a[j]=min => bác xác định vị trí min như thế nào?
    Cái này đơn giản mà, do ko xét dấu = nên nếu i < j thì hiển nhiên vị trí min = i.

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

    em muốn nói là: nếu có nhiều vị trí có giá trị =min(max) => các bác làm sao để liệt kê hết các vị trí đó (em nghĩ code trên chỉ cho vị trí cuối cùng của min/max => chỉ đúng khi min/max là duy nhất)

  10. #10
    Ngày gia nhập
    11 2006
    Bài viết
    633

    em muốn nói là: nếu có nhiều vị trí có giá trị =min(max) => các bác làm sao để liệt kê hết các vị trí đó
    Yêu cầu quá cao, sorry.

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

  1. Bài tập C++ [HELP]Nhờ các bác vào giải giùm mình máy bài tập c++ này nha
    Gửi bởi thanh_luu trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 07-07-2013, 01:52 PM
  2. Giải thích giùm mình với!
    Gửi bởi gachiep trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 27-12-2012, 09:40 AM
  3. Giải thích giùm mình cái đề này với
    Gửi bởi khachung_uit trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 22-11-2012, 10:21 AM
  4. mình là dân mới, giải giùm mình bài tập này
    Gửi bởi bibiyenbai trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 27-04-2010, 08:15 PM
  5. anh em ơi, giải giùm em bài này.
    Gửi bởi baoanh_nguyen trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 15-01-2008, 10:52 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