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

Đề tài: Lập trình C | Kiểm tra x có trong mảng hay ko. Giúp mình sửa lỗi?

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

    Post Lập trình C | Kiểm tra x có trong mảng hay ko. Giúp mình sửa lỗi?

    Giúp em với thứ 2 thi rồi . em viết đoạn code này ko bít sao nó thưc hiện ko đúng.Đề bài là thế này:
    Viết chương trình nhập vào mảng N số nguyên (N<100) , nhập x :
    a) kiểm tra có trong mảng hay ko.
    Chỉ em cách viết hàm cho bài này :
    C Code:
    1. #include <stdio.h>
    2. #define max 50
    3. void nhapmang(int a[],int &n)
    4. {
    5.     printf("nhap so luong phan tu n :");
    6.     scanf("%d", &n);
    7.     for ( int i=0;i<n;i++)
    8.     {
    9.         printf("nhap phan tu thu %d:",i);
    10.         scanf("%d",& a[i]);
    11.     }
    12. }
    13. void xuatmang(int a[], int n)
    14. {
    15.     printf("noi dung cua mang la: ");
    16.     for(int i=0;i<n;i++)
    17.         printf("%d", a[i]);
    18.     printf("\n");
    19. }
    20. int timkiem(int a[], int n)
    21. {
    22.     int i,x;
    23.     printf("nhap x");
    24.     scanf("%d",&x);
    25.     for(i=0;i<n;i++)
    26.         if(a[i]== x)
    27.             return i;
    28.         return 0;
    29. }
    30. void main()
    31. {
    32.     int b[max],n,i;
    33.     nhapmang(b,n);
    34.     xuatmang(b,n);
    35.     if(timkiem(b,n)==i)
    36.         printf("vi tri can tim",i);
    37.     else printf("ko co");
    38. }
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 27-05-2009 lúc 01:36 AM. Lý do: Cảnh cáo không đưa code vào tag

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

    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    #define max 50

    void nhapmang(int a[],int &n)
    {
        
    printf("nhap so luong phan tu n :");
        
    scanf("%d", &n);
        for ( 
    int i=0;i<n;i++)
        {
                
    printf("nhap phan tu thu %d:",i);
                
    scanf("%d",& a[i]);
        }
    }
    void xuatmang(int a[], int n)
    {
            
    printf("noi dung cua mang la: \n");
            for(
    int i=0;i<n;i++)
          {
            
    printf("%d"a[i]);
          
    printf("\n");
          }
    }
        
    void  timkiem(int a[], int n)
        {
            
    int i,x,sl=0;
            
    printf("nhap x\n");
            
    scanf("%d",&x);
          for(
    i=0;i<n;i++)
          {
                    if(
    a[i]== x)
                {
                        
    printf("vi tri can tim %d \n",i);
                  
    sl++;
                }
          }
          if(
    sl==0)
          
    printf("Khong co phan tu nao \n");



    }
        
    void main()
        {
            
    int b[max],n,i;
            
    nhapmang(b,n);
            
    xuatmang(b,n);
            
    timkiem(b,n);


          
    getch();

    Còn bài của bạn :
    PHP Code:
    #include <stdio.h>
    #define max 50
    void nhapmang(int a[],int &n)
    {
    printf("nhap so luong phan tu n :");
    scanf("%d", &n);
    for ( 
    int i=0;i<n;i++)
    {
    printf("nhap phan tu thu %d:",i);
    scanf("%d",& a[i]);
    }
    }
    void xuatmang(int a[], int n)
    {
    printf("noi dung cua mang la: ");
    for(
    int i=0;i<n;i++)
    printf("%d"a[i]);
    printf("\n");
    }
    int timkiem(int a[], int n)// hàm trả về vị trí tìm thấy nhưng mà không nói hết được như nếu giá trị đó có nhiều lần trong mảng 
    {
    int i,x;
    printf("nhap x");
    scanf("%d",&x);
    for(
    i=0;i<n;i++)
    if(
    a[i]== x)
    return 
    i;
    return 
    0;// nếu viết như thế này thì nó luôn trả về giá trị là 0 nhớ là if thực hiện khối lệnh sau nó 
    }
    void main()
    {
    int b[max],n,i;
    nhapmang(b,n);
    xuatmang(b,n);
    if(
    timkiem(b,n)==i)
    printf("vi tri can tim",i);
    else 
    printf("ko co");

    Đã được chỉnh sửa lần cuối bởi tiendv : 23-05-2009 lúc 10:36 PM.

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

    int timkiem(int a[], int n)
    {
    int i,x;
    printf("nhap x");
    scanf("%d",&x);
    for(i=0;i<n;i++)
    if(a[i]== x)
    return i;
    return 0;// nếu viết như thế này thì nó luôn trả về giá trị là 0 nhớ là if thực hiện khối lệnh sau nó
    }
    Bạn giải thích sai hoàn toàn. Khi mà đã return i thì nó đã thoát ra khỏi hàm rồi chứ ko có thực hiện thêm lệnh return 0;

    Chủ topic sai là do" tại sao lại là return i" trong khi đó trong hàm main ko có bất kì thao tác nào liên quan tới i.
    Code mình đã sửa
    PHP Code:
    #include <stdio.h>
    #define max 50
    void nhapmang(int a[],int &n)
    {
    printf("nhap so luong phan tu n :");
    scanf("%d", &n);
    for ( 
    int i=0;i<n;i++)
    {
    printf("nhap phan tu thu %d:",i);
    scanf("%d",& a[i]);
    }
    }
    void xuatmang(int a[], int n)
    {
    printf("noi dung cua mang la: ");
    for(
    int i=0;i<n;i++)
    printf("%d  "a[i]);
    printf("\n");
    }
    int timkiem(int a[], int n)// hàm tra? ve^` vi. trí tìm tha^'y nhu+ng mà không nói he^'t ?u+o+.c nhu+ ne^'u giá tri. ?ó có nhie^`u la^`n trong ma?ng 
    {
        
    int i,x;
        
    printf("nhap x: ");
        
    scanf("%d",&x);
        for(
    i=0;i<n;i++)
            if(
    a[i]==x)
                return 
    i;
        return 
    0;
    }
    void main()
    {
    int b[max],n,i,x;
    nhapmang(b,n);
    xuatmang(b,n);

    i=timkiem(b,n);
    if(
    i==0)
        
    printf("\nkhong co. ");
    else
        
    printf("\nket qua: %d",i+1);


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

    thank,cuối cùng cũng tìm ra vấn đề

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

    Trích dẫn Nguyên bản được gửi bởi clementboy03 Xem bài viết
    Bạn giải thích sai hoàn toàn. Khi mà đã return i thì nó đã thoát ra khỏi hàm rồi chứ ko có thực hiện thêm lệnh return 0;

    Chủ topic sai là do" tại sao lại là return i" trong khi đó trong hàm main ko có bất kì thao tác nào liên quan tới i.
    Code mình đã sửa
    PHP Code:
    #include <stdio.h>
    #define max 50
    void nhapmang(int a[],int &n)
    {
    printf("nhap so luong phan tu n :");
    scanf("%d", &n);
    for ( 
    int i=0;i<n;i++)
    {
    printf("nhap phan tu thu %d:",i);
    scanf("%d",& a[i]);
    }
    }
    void xuatmang(int a[], int n)
    {
    printf("noi dung cua mang la: ");
    for(
    int i=0;i<n;i++)
    printf("%d  "a[i]);
    printf("\n");
    }
    int timkiem(int a[], int n)// hàm tra? ve^` vi. trí tìm tha^'y nhu+ng mà không nói he^'t ?u+o+.c nhu+ ne^'u giá tri. ?ó có nhie^`u la^`n trong ma?ng 
    {
        
    int i,x;
        
    printf("nhap x: ");
        
    scanf("%d",&x);
        for(
    i=0;i<n;i++)
            if(
    a[i]==x)
                return 
    i;
        return 
    0;
    }
    void main()
    {
    int b[max],n,i,x;
    nhapmang(b,n);
    xuatmang(b,n);

    i=timkiem(b,n);
    if(
    i==0)
        
    printf("\nkhong co. ");
    else
        
    printf("\nket qua: %d",i+1);

    Ok. nhưng nếu trong dãy số phần tử x xuất hiện 2 lần thì sao bạn? Cái này chỉ kiểm tra 1 lần rồi thoát thôi.

  6. #6
    Ngày gia nhập
    04 2009
    Bài viết
    35

    Mặc định Lập trình C | Kiểm tra x có trong mảng hay ko. Giúp mình sửa lỗi?

    thì thêm vô tí! đề chỉ yêu cầu tìm có hay ko thôi mà!
    int timkiem(int a[], int n,int *lap,int *vitri){
    int i=0,x; lap=1; vitri[0]=0;
    printf("nhap x: ");
    scanf("%d",&x);
    for(;i<n;i++)
    if(a[i]==x)
    {lap++; vitri[lap-1]=i;}
    return (vitri[lap-1]);
    }
    tối ưu hóa thì hay hơn bắt bẻ kiểu này!
    Đã được chỉnh sửa lần cuối bởi supnobita : 30-10-2009 lúc 10:21 AM.

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

  1. Hàm trong C Giúp đỡ về đọc FILE trong 1 folder riêng biệt trong lập trình C.
    Gửi bởi itus1994 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 29-12-2013, 09:04 PM
  2. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  3. Bài tập C++ help giúp em sữa lỗi trong hàm tìm kiếm sách và gọi hàm trong chuơng trình quản lí sách
    Gửi bởi Mr.vu112 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 17-11-2011, 07:21 PM
  4. Bài tập C++ Giúp mình viết 1 đoạn code hoàn chỉnh trong C++ về random trong giới hạn
    Gửi bởi sai211dn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 06-10-2011, 08:01 PM
  5. Hàm trong C++ không nằm trong main vẫn chạy đúng. Giải thích giúp?
    Gửi bởi tuvan1011 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: 02-09-2009, 12:58 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