Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Có thể chuyển mảng 2 chiều thành mảng 1 chiều ko ?

    e có dòng lệnh này

    Mã:
    char NutTen[Max_Nut][Len_Nut];char NutYnghia[Max_Nut][Len_Ynghia];void DocNutTuFile(char* FileName){    FILE *f;    //char Ten[Len_Nut];    int k,i=2;    //doc luat tu file vao mang tap luat    f = fopen(FileName,"rt");    if (f!=NULL)    {        fscanf(f,"%d
    ", &SoNut);        for (int i=1; i<=SoNut; i++)        {            fscanf(f,"%s %s
    ", &NutTen[i], &NutYnghia[i]);        }    }    else     {        printf("
     Khong tim thay file : %s !!!", FileName);        getch();    }    fclose(f);}
    E ko hiểu chỗ NutTen[][] khi khai báo là mảng 2 chiều nhưng khi gán giá trị trong vòng for lại là mảng 1 chiều

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    vì mỗi NutTen[i] là 1 chuỗi có độ dài là Len_Nut
    bạn dùng fscanf ("%s") là để đọc 1 chuỗi đấy

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - Mảng 2 chiều ... gọi sao cho đúng thì tớ ko chắc... nhưng théo tớ thì nó như thế này
    + Gồm Mảng 1 chiều n phần tử [IMG]images/smilies/dont_tell_anyone.gif[/IMG]. với mỗi chỉ số tương ứng ta lại có 1 mảng 1 chiều m phần tử..
    __________________________________________________ __________________________________

    Mã:
    1 2   3   4 //<-- Mảng 1 chiều5 6   7   89 10  11  12//^đây cũng là mảng

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    C, C++ coi mảng 2 chiều là mảng của các mảng 1 chiều.
    nên char a[5][4] là một mảng gồm 5 mảng một chiều mỗi mảng gồm 4 phần tử kiểu char(hơi khó hiểu nhỉ [IMG]images/smilies/redface.png[/IMG])

    cấu trúc bộ nhớ là tuyến tính nên tất cả các kiểu mảng thực chất là 1 chiều.

    Còn chuyển mảng 2 chiều về một chiều theo thứ tự nào là tùy bạn, ưu tên hàng hay cột hay theo thự tự nào?

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Ý bạn ấy là ko hiểu đoạn code thôi.
    Vì thấy khia báo là 2 chiều nhưng khi lấy thì chỉ có 1 nên bạn ấy viết tiêu đề vậy.
    Bạn áy quên là trong C ko có dạng string

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    khó hiểu quá cả nhà ơi...!!!!!!!!!=((

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •