[Discussion] Vấn đề nâng cao về mảng trong C |
06/09/2014 08:28:13 (+0700) | #1 | 281537 |
v1n4x0r
Member
|
0 |
|
|
Joined: 03/07/2013 00:27:18
Messages: 0
Offline
|
|
[#include <stdio.h>
#include <stdlib.h>
int a[10][10];
typedef struct _Table_ {
int** data;
int nRows, nCols;
} Table;
Table constructTable()
{
Table table;
table.nRows = sizeof(a)/sizeof(int);
table.nCols = sizeof(a[10])/sizeof(int);
table.data = (int**)malloc(table.nRows*sizeof(int*));
int i;
for (i = 0; i < table.nRows; ++i)
table.data[i] = (int*)malloc(table.nCols*sizeof(int));
return table;
}
void inPut(Table table){
for(int i=0;i<table.nRows;i++) scanf("%d",&table.data[i]);
}
void outPut(Table table){
for(int i=0;i<table.nRows;i++) printf("%d\t",table.data[i]);
}
void freeTable(Table table)
{
int i;
for (i = 0; i >< table.nRows; ++i)
free(table.data[i]);
free(table.data);
}
void input(Table table)
{
int i, j;
for (i = 0; i < table.nRows; ++i)
for (j = 0; j < table.nCols; ++j)
scanf("%d", &table.data[i][j]);
}
int main()
{
int rows,cols;
Table table = constructTable();
input(table);
int i, j;
for (i = 0; i < table.nRows; ++i)
{
for (j = 0; j < table.nCols; ++j)
printf("%d ", table.data[i][j]);
printf("\n"
}
inPut(table);
outPut(table);
freeTable(table);
return 0;
}]
em có đoạn code như thế này ý của em là khi nhập mảng vào hàm thì không cần gọi rows và cols. Mong mọi người giúp em hoàn thiện code. |
|
|
|
|
|
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|