haph86 Gà mới lớn
Tổng số bài gửi : 40 Join date : 04/06/2009
| Tiêu đề: Một ví dụ về con trỏ đa cấp Fri Jun 26, 2009 11:24 am | |
| Ở đề số 20, câu 3 có yêu cầu nhập n, sau đó nhập n chuỗi, tiếp đến nhập m rồi nhập m chuỗi => phải sử dụng 2 mảng 2 chiều. Mình có một cách khác là lưu toàn bộ các chuỗi đấy ( 2 mảng 2 chiều đó ) bới 1 con trỏ mà thôi. Cách xử lí như sau: - Code:
-
#include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h>
char ***input(int *n, int *m); void display(int n, int m, char ***a);
void main() { int n,m; char ***a; clrscr(); a=input(&n,&m); display(n,m,a); getch(); }
char ***input(int *n, int *m) { int i; char ***a; a=(char***)malloc(2*sizeof(char**)); printf("N= "); scanf("%d",n); *a=(char**)malloc(*n*sizeof(char*)); for(i=0; i<*n; i++) { *(*a+i)=(char*)malloc(100*sizeof(char)); printf("String %d: ",i); fflush(stdin); gets(*(*a+i)); }
printf("M= "); scanf("%d",m); *(a+1)=(char**)malloc(*m*sizeof(char*)); for(i=0; i<*m; i++) { *(*(a+1)+i)=(char*)malloc(100*sizeof(char)); printf("String %d: ",i); fflush(stdin); gets(*(*(a+1)+i)); } return(a); }
void display(int n, int m, char ***a) { int i; for(i=0; i<n; i++) puts(*(*a+i)); printf("-------------------------------\n"); for(i=0; i<m; i++) puts(*(*(a+1)+i)); }
Mọi người thử tìm hiểu nhé! | |
|
Join date : 01/01/1970
| Tiêu đề: Re: Một ví dụ về con trỏ đa cấp Fri Jun 26, 2009 1:54 pm | |
| | |
|
spyware Đại Bàng Tinh
Tổng số bài gửi : 116 Join date : 04/06/2009 Age : 39 Đến từ : HN
| Tiêu đề: Re: Một ví dụ về con trỏ đa cấp Fri Jun 26, 2009 4:38 pm | |
| biết chết liền 2* còn chết nữa là bác làm phát 3*. mai mốt qua Bảo Sơn thì lên 4* ... chồng cô cũng pó tay nữa là .. | |
|
Sponsored content
| Tiêu đề: Re: Một ví dụ về con trỏ đa cấp | |
| |
|