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

Đề tài: Nhập mảng 2 chiều trong cùng 1 dòng

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

    Mặc định Nhập mảng 2 chiều trong cùng 1 dòng

    Mọi người cho e hỏi cách in ra 1 mảng 2 chiều mà mình nhập dữ liệu trong 1 dòng như thế nào với ạ
    ví dụ nhập mảng 2 chiều x[4][4]
    "Nhập vào mảng 2 chiều :a b c d ;e f g h;d f n j;a f g h
    X=
    a b c d
    e f g h
    d f b j
    a f g h "
    Bình thường thì nhập từng hàng 1 nhưng đây đề bài bắt nhập ma trận trong cùng 1 dòng thì e ko biết cách làm,mọi người giúp e với

  2. #2
    Ngày gia nhập
    08 2008
    Bài viết
    28

    Đề bài nhập nhằng, không rõ ràng. Mình thấy mấy việc đó chẳng có gì phân biệt. Nhập trong cùng 1 dòng thì đơn giản thế này thôi.
    Ví dụ cần nhập vào a[2][2] các số nguyên ;
    scanf ( "%d%d%d%d", &a[0][0], &a[0][1], &a[1][0], &a[1][1] ) ;
    Khi nhập bạn chỉ cần nhập vào 4 số cách nhau bởi dấu cách là được. Ví dụ 1 2 3 4 -> enter

  3. #3
    Ngày gia nhập
    10 2007
    Nơi ở
    TP. HCM
    Bài viết
    52

    Trích dẫn Nguyên bản được gửi bởi love_sick Xem bài viết
    Mọi người cho e hỏi cách in ra 1 mảng 2 chiều mà mình nhập dữ liệu trong 1 dòng như thế nào với ạ
    ví dụ nhập mảng 2 chiều x[4][4]
    "Nhập vào mảng 2 chiều :a b c d ;e f g h;d f n j;a f g h
    X=
    a b c d
    e f g h
    d f b j
    a f g h "
    Bình thường thì nhập từng hàng 1 nhưng đây đề bài bắt nhập ma trận trong cùng 1 dòng thì e ko biết cách làm,mọi người giúp e với
    Thử xem bài của mình đúng yêu cầu của bạn chưa, bài này nhập các phần tử trên 1 hàng xong rồi in nó ra thành ma trận:
    C Code:
    1. #include <stdio.h>
    2.  
    3. int main()
    4. {
    5.     int MATRAN[50][50];
    6.     int M, N, i, j;
    7.  
    8.     printf("Nhap dong M: ");
    9.     scanf("%d", &M);
    10.     printf("Nhap cot N: ");
    11.     scanf("%d", &N);
    12.  
    13.     for (int i = 0; i < M * N; i++) {
    14.         scanf("%d", (int*) MATRAN + i);
    15.     }
    16.  
    17.     for (i = 0; i < M; i++) {
    18.         for (j = 0; j < N; j++) {
    19.             printf("%4d", *((int*) MATRAN + i * N + j));
    20.         }
    21.         printf("\n");
    22.     }
    23.     return 0;
    24. }
    /* The thing that I think is the thing that I do. */

  4. #4
    Ngày gia nhập
    08 2008
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi aMember Xem bài viết
    Đề bài nhập nhằng, không rõ ràng. Mình thấy mấy việc đó chẳng có gì phân biệt. Nhập trong cùng 1 dòng thì đơn giản thế này thôi.
    Ví dụ cần nhập vào a[2][2] các số nguyên ;
    scanf ( "%d%d%d%d", &a[0][0], &a[0][1], &a[1][0], &a[1][1] ) ;
    Khi nhập bạn chỉ cần nhập vào 4 số cách nhau bởi dấu cách là được. Ví dụ 1 2 3 4 -> enter
    Đề bài mình nói rõ rồi mà,có cả ví dụ nữa mà bạn.Cách này của bạn mình thử rồi nhưng ko được !Cám ơn bạn đã đóng góp ý kiến nha

  5. #5
    Ngày gia nhập
    08 2008
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi Chautieu47 Xem bài viết
    Thử xem bài của mình đúng yêu cầu của bạn chưa, bài này nhập các phần tử trên 1 hàng xong rồi in nó ra thành ma trận:
    C Code:
    1. #include <stdio.h>
    2.  
    3. int main()
    4. {
    5.     int MATRAN[50][50];
    6.     int M, N, i, j;
    7.  
    8.     printf("Nhap dong M: ");
    9.     scanf("%d", &M);
    10.     printf("Nhap cot N: ");
    11.     scanf("%d", &N);
    12.  
    13.     for (int i = 0; i < M * N; i++) {
    14.         scanf("%d", (int*) MATRAN + i);
    15.     }
    16.  
    17.     for (i = 0; i < M; i++) {
    18.         for (j = 0; j < N; j++) {
    19.             printf("%4d", *((int*) MATRAN + i * N + j));
    20.         }
    21.         printf("\n");
    22.     }
    23.     return 0;
    24. }
    Mình chưa hiều cách của bạn lắm,nhưng mình thử chạy thì nó in ra 1 ma trận toàn 0 thôi.bạn thử check lại xem

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    TP. HCM
    Bài viết
    52

    Mặc định Nhập mảng 2 chiều trong cùng 1 dòng

    Sao lại in ra ma trận toàn 0? Mình thấy in ra đúng mà. Bạn nhập kích thước của ma trận số dòng M, số cột N rồi bắt đầu nhập các phần tử cho nó trên 1 hàng. Nhập xong Enter thì nó in ra ma trận cỡ M x N.
    /* The thing that I think is the thing that I do. */

  7. #7
    Ngày gia nhập
    10 2007
    Nơi ở
    TP. HCM
    Bài viết
    52

    Bạn xem này:
    Đã được chỉnh sửa lần cuối bởi Chautieu47 : 10-08-2008 lúc 12:52 PM.
    /* The thing that I think is the thing that I do. */

  8. #8
    Ngày gia nhập
    08 2008
    Bài viết
    28

    Tức là bạn muốn có thêm cái dấu ";" sau mỗi hàng chứ gì
    PHP Code:
    #include <iostream.h>
    #include <conio.h>
    void main()
     {
       const 
    int M 44;
       
    int a[M][N];
       
    char ch ;
       
    int ij;
       for( 
    0M-1i++ )
          {
             for( 
    0Nj++)
                
    cin >> a[i][j];
             
    cin >> ch;
          }
       for( 
    0Nj++)
          
    cin >> a[M-1][j];

    // In ra man hinh ;
       
    for( 0iMi++ )
          {
             for( 
    0Nj++ )
                
    cout << a[i][j] << "  ";
             
    cout << endl;
          }
       
    getch() ;
     } 

  9. #9
    Ngày gia nhập
    08 2008
    Bài viết
    5

    cảm ơn amember nhiều nha !Nhưng bạn có thể giải thích cho mình với,mình ko hiểu "cout" "endl" và "cin".Và tại sao trong vòng for thứ 1 "i < M-1 " mà ko phải M vậy bạn
    Đã được chỉnh sửa lần cuối bởi love_sick : 10-08-2008 lúc 01:03 PM.

  10. #10
    Ngày gia nhập
    08 2008
    Bài viết
    28

    Hix nhầm chỗ này là C . Trên kia viết trên C++ . Đây là chương trình trên C
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    void main()
     {
       const 
    int M 44;
       
    int a[M][N];
       
    char ch ;
       
    int ij;
       for( 
    0M-1i++ )
          {
             for( 
    0Nj++)
                
    scanf"%d", & a[i][j] );
             
    scanf"%c", &ch);
          }
       for( 
    0Nj++)
          
    scanf"%d", &a[M-1][j] );

    // In ra man hinh ;
       
    for( 0iMi++ )
          {
             for( 
    0Nj++ )
                
    printf"%d  ",a[i][j] );
             
    printf"\n" );
          }
       
    getch() ;
     } 
    Đã được chỉnh sửa lần cuối bởi aMember : 10-08-2008 lúc 01:12 PM.

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

  1. Lấy giá trị dòng cuối cùng trong một truy vấn Select
    Gửi bởi sieunhanaotim_py trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 29-04-2014, 05:26 PM
  2. Hàm trong C++ Chạy chương trình phụ .exe trong C++ cùng với tham số dòng lệnh
    Gửi bởi ayemedcb trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 20-04-2013, 08:26 AM
  3. Database Hiển thị số dòng cuối cùng tuỳ ý trong dataGridView
    Gửi bởi vudat0987 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 26-06-2012, 10:50 AM
  4. không nhập được 2 dòng khi cùng 1 tên khóa.
    Gửi bởi xoycontinue trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 10-10-2011, 04:03 PM
  5. Sắp xếp các phần tữ trên cùng 1 dòng theo thứ tự tăng dần trong mảng 2 chiều
    Gửi bởi muclup trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 07-03-2009, 02:21 AM

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