Nhập xuất mảng trong c

Cùng tìm hiểu về cách nhập xuất mảng trong c. Bạn sẽ biết cách nhập xuất mảng 1 chiều trong C cũng như cách nhập xuất mảng 2 chiều trong C sau bài học này.

Hàm nhập xuất mảng trong c

Để nhập xuất mảng trong C, chúng ta cần dùng hàm nhập mảng trong c là hàm scanf(), và hàm xuất mảng trong c là hàm printf(). Ngoài ra, chúng ta có thể thêm các xử lý khác để có thể tự tạo ra hàm nhập xuất mảng trong c một cách tổng quát.

Lại nữa, nếu bạn còn phân vân các khái niệm như mảng là gì, mảng 1 chiều là gì, và mảng 2 chiều là gì, trước khi học về cách nhập xuất mảng trong C thì hãy tham khảo các bài lý thuyết về mảng như sau:

Nhập xuất mảng 1 chiều trong C

Nhập mảng 1 chiều trong c

Để nhập mảng 1 chiều trong c, chúng ta cần sử dụng tới hàm scanf() để nhập dữ liệu từ bàn phím, và vòng lặp for để có thể nhập và gán từng dữ liệu đó vào từng phần tử có trong mảng 1 chiều.

Chúng ta có thể viết hàm nhập mảng 1 chiều trong C như sau:


void

input_array

(

int

array

[],

int

length){



for

(

short

i =

0

; i < length; i++)

scanf

(

"%d"

, &

array

[i]);

}


Xuất mảng 1 chiều trong c

Một cách tương tự thì để xuất mảng 1 chiều trong c, chúng ta cần sử dụng tới hàm printf() để in giá trị phần tử, và vòng lặp for để có thể lấy giá trị từng phần tử có trong mảng 1 chiều.
Chúng ta có thể viết hàm xuất mảng 1 chiều trong C như sau:


void

show_array

(

int

array

[],

int

length){



for

(

short

i =

0

; i < length; i++)

printf

(

"%d "

,

array

[i]);

printf

(

"\n"

);

}


Chương trình mẫu nhập và xuất mảng 1 chiều trong c

Dưới đây là chương trình mẫu sử dụng các hàm trên để nhập và xuất mảng 1 chiều trong c:




void

input_array

(

int

array

[],

int

length){

for

(

short

i =

0

; i < length; i++)

scanf

(

"%d"

, &

array

[i]);

}




void

show_array

(

int

array

[],

int

length){

for

(

short

i =

0

; i < length; i++)

printf

(

"%d "

,

array

[i]);

printf

(

"\n"

);

}



int

main

(

void

){


int

n;

printf

(

">>Nhap so phan tu: "

);

scanf

(

"%d"

, &n);


int

array

[n];

printf

(

">>Nhap phan tu:\n"

);

input_array(

array

, n);



printf

(

">>Mang vua nhap:\n"

);

show_array(

array

, n);

}


Kết quả chương trình nhập và xuất mảng 1 chiều trong c như sau:

>>Nhap so phan tu: 3


>>Nhap phan tu:


4


5


6


>>Mang vua nhap:


4 5 6


Nhập xuất mảng 2 chiều trong c

Để nhập mảng 2 chiều trong c, chúng ta cần sử dụng tới hàm scanf() để nhập dữ liệu từ bàn phím, và 1 vòng lặp for lồng để có thể chỉ định cặp index dọc và ngang của các phần tử, qua đó nhập và giá trị cho từng phần tử mảng 2 chiều.

Một cách tương tự thì để xuất mảng 2 chiều trong c, chúng ta cần sử dụng tới hàm printf() để in giá trị, và 1 vòng lặp for lồng để có thể chỉ định cặp index dọc và ngang của các phần tử, qua đó truy cập và lấy giá trị của từng phần tử mảng 2 chiều.

Và dưới đây là chương trình nhập và xuất mảng 2 chiều trong c:



int

main

(

void

){


int

y,x;

printf

(

">>Nhap do dai (so mang 1 chieu) trong mang 2 chieu: "

);

scanf

(

"%d"

, &y);


printf

(

">>Nhap do dai (so phan tu) trong mang 1 chieu: "

);

scanf

(

"%d"

, &x);


int

array

[y

-1

][x

-1

];

printf

(

">>Nhap phan tu:\n"

);


for

(

short

i =

0

; i < y; i++) {

for

(

short

j =

0

; j < x; j++)

scanf

(

"%d"

, &

array

[i][j]);

}



printf

(

">>Mang vua nhap:\n"

);


for

(

short

i =

0

; i < y; i++) {

for

(

short

j =

0

; j < x; j++)

printf

(

"%d "

,

array

[i][j]);

printf

(

"\n"

);

}


}


Kết quả chương trình nhập và xuất mảng 2 chiều trong c như sau:

>>Nhap do dai (so mang 1 chieu) trong mang 2 chieu: 6


>>Nhap do dai (so phan tu) trong mang 1 chieu: 3


>>Nhap phan tu:


7 9 8


8 6 7


5 7 6


4 9 5


5 8 7


6 9 3


>>Mang vua nhap:


7 9 8


8 6 5


5 7 4


4 9 5


5 8 6


6 9 3


Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách nhập xuất mảng trong c rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.