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

Đề tài: lỗi sử dụng vòng lặp làm bài toán ra nhiều kêt quả khác nhau

  1. #1
    Ngày gia nhập
    07 2011
    Nơi ở
    nhà
    Bài viết
    37

    Angry lỗi sử dụng vòng lặp làm bài toán ra nhiều kêt quả khác nhau

    nhập n in ra n bình phương tăng dần theo xoáy ốc
    em có code thế này
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    main()
    {
        int manga[50][50],mangb[50],i,j,n,m,k,c;
        printf("\n nhap vao mot so tu nhien: ");
        scanf("%d",&n);
        m=n;
        c=n*n;
      
        for(i=1;i<=c;i++)
            mangb[i]=i;
            
                for(i=1;i<=n;i++)
                  for(j=1;j<=n;j++)
                    if((n*i+j)<c)
                    manga[i][j]=mangb[n*i+j];
                   
        ////////////////////////////////////////////////////////////
        int dem =0; 
                   i=1; j=1; 
                  int DauTien=0; 
                  int Tru=0; 
                  do  
                  { 
                              i=DauTien; 
                              for (j=i; j<m - Tru; j++) 
                              { dem++;
                                        manga[i][j] = mangb[dem]; 
                                           
                              } 
                              j--; 
                              for (i++; i<n - Tru; i++ ) 
                              
                              { 
                                    dem++;
                                     manga[i][j] = mangb[dem]; 
                                            
                              } 
                              i--; 
                              for (j--; j>=Tru; j--) 
                              { dem++;
                                           manga[i][j] = mangb[dem]; 
                                         
                              } 
                              Tru++; 
                              j++; 
                              for (i--; i>=Tru; i--) 
                              { dem++;
                                           manga[i][j] = mangb[dem]; 
                                          
                              } 
                              DauTien++; 
                  } while (dem!=n*m); 
                  printf("\t------------------------\n"); 
                  for (int i=0; i<n; i++) 
                  { 
                              printf("\t"); 
                              for (int j=0; j<m; j++) 
                              { 
                                          printf("%4d", manga[i][j]); 
                              } 
                              printf("\n"); 
                  } 
                  printf("\t------------------------\n"); 
            
            getch();
    }
    sau khi chạy ra với các số từ 7 trở xuống thì đúng, nhưng từ 8 trở lên thì sai, tại sao thế ạ
    Thông minh là một món quà lớn
    Sau khi nhận quà vấn đề tiếp theo là chúng ta phải sử dụng chúng như thế nào !

  2. #2
    Ngày gia nhập
    07 2011
    Bài viết
    160

    Chưa ngó kỹ code nhưng mangb sao khai báo có 50 phần tử? 7*7 = 49 thì < 50, nhưng 8*8 = 64 là quá 50 rồi

  3. #3
    Ngày gia nhập
    07 2011
    Nơi ở
    nhà
    Bài viết
    37

    Trích dẫn Nguyên bản được gửi bởi fbchicken Xem bài viết
    Chưa ngó kỹ code nhưng mangb sao khai báo có 50 phần tử? 7*7 = 49 thì < 50, nhưng 8*8 = 64 là quá 50 rồi
    á á, hèn gì mình quên mất, cảm ơn bạn nhìu nhìu nha ^^
    Thông minh là một món quà lớn
    Sau khi nhận quà vấn đề tiếp theo là chúng ta phải sử dụng chúng như thế nào !

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

  1. Xem giúp mình 2 vòng lặp giống nhau nhưng kết quả khác nhau
    Gửi bởi anhkhoadn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 06-11-2013, 12:57 AM
  2. Cấu trúc dữ liệu sử dụng danh sach liên kêt. in ra kết quả sai.
    Gửi bởi vanminhcit trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 1
    Bài viết cuối: 27-10-2012, 10:40 PM
  3. Mã nguồn C Lỗi Quản lý hợp đồng danh sách liên kêt (lỗi không tính tổng được)
    Gửi bởi trung888 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 31-05-2012, 08:45 AM
  4. Lập trình C++ giá trị của xâu trong vòng lặp và ngoài vòng lặp khác nhau
    Gửi bởi virus93ttll trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 14-05-2011, 02:43 PM
  5. Vòng lặp for lồng nhau, giúp tớ hiểu rõ hơn về vòng lặp for lồng nhau?
    Gửi bởi bk7million trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 29-04-2009, 07:46 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