资源简介

实现c语言动态数组,实现矩阵相乘,实现了文件读写

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include “function.h“

int main()
{

/////////////////////system initialization///////////////////////////////////////
int mnk;
FILE *fp*fp1*fp2;         //*fp1*fp2 for reading in1.file\in2.file  #fp2 for writing out.file
char ch;

////////////////////initialize mn///////////////////////////////////////
fp=fopen(“in1.file““r“);
if(fp==NULL)
{
printf(“error load in1.file“);
}
ch=fgetc(fp);
m=ch-‘0‘;
ch=fgetc(fp);
ch=fgetc(fp);
n=ch-‘0‘;

////////////////////initialize nk///////////////////////////////////////
fp1=fopen(“in2.file““r“);
if(fp1==NULL)
{
printf(“error load in2.file“);
}
ch=fgetc(fp1);
n=ch-‘0‘;
ch=fgetc(fp1);
ch=fgetc(fp1);
k=ch-‘0‘;


/////////////////////allocate dynamic array///////////////////////////////////////
int **a;
int i;
a = (int **)malloc(sizeof(int *) * m);        //分配指针数组
a[0] = (int *)malloc(sizeof(int) * m * n);    //一次性分配所有空间
for(i=1; i {
a[i] = a[i-1] + n;
}

int **b;
int j;
b = (int **)malloc(sizeof(int *) * n);       //分配指针数组
b[0] = (int *)malloc(sizeof(int) * n * k);  //一次性分配所有空间
for(j=1; j {
b[j] = b[j-1] + k;
}

int **c;
int q;
c = (int **)malloc(sizeof(int *) * m);       //分配指针数组
c[0] = (int *)malloc(sizeof(int) * m * k);  //一次性分配所有空间
for(q=1; q {
c[q] = c[q-1] + k;
}


////////////////////initialize a[][]///////////////////////////////////////
ch=fgetc(fp);
while(ch!=EOF)
{
for(int tmp1=0;tmp1 {
for(int tmp2=0;tmp2 {
ch=fgetc(fp);
     *(*(a+tmp1)+tmp2)=ch-‘0‘;
ch=fgetc(fp);
}

}
}
fclose(fp);

    ////////////////////  initialize b[][]///////////////////////////////////////
ch=fgetc(fp1);
while(ch!=EOF)
{
for(int tmp1=0;tmp1 {
for(int tmp2=0;tmp2 {
ch=fgetc(fp1);
     *(*(b+tmp1)+tmp2)=ch-‘0‘;
ch=fgetc(fp1);
}

}
}
fclose(fp1);


    ////////////////////execute function.cpp////////////////////////////////////
c=matrixmulti(mnkabc);


///////////////////write out.file//////////////////////////////////////////
fp2=fopen(“out.file““w“);
if(fp2==NULL)
{
printf(“error load out.file“);
}
for(int tmp1=0;tmp1 {
for(int tmp2=0;tmp2 {
ch=*(*(c+tmp1)+tmp2)+‘0‘;
fputc(chfp2);
ch=‘ ‘;
fputc(chfp2);
}
ch=‘\n‘;
fputc(chfp2);
}
fclose(fp2);



////////////////////free allocated dynamic arrays///////////////////////////
free(a[0]);
free(a);
free(b[0]);
free(b);
getchar();

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2685  2012-05-27 11:19  darray\darray\daaray.cpp

     文件       3335  2012-05-27 10:11  darray\darray\darray.vcxproj

     文件       1178  2012-05-27 10:11  darray\darray\darray.vcxproj.filters

     文件        143  2012-05-27 08:47  darray\darray\darray.vcxproj.user

     文件       1086  2012-05-27 11:21  darray\darray\Debug\cl.command.1.tlog

     文件       2218  2012-05-27 11:21  darray\darray\Debug\CL.read.1.tlog

     文件       1010  2012-05-27 11:21  darray\darray\Debug\CL.write.1.tlog

     文件      10583  2012-05-27 11:20  darray\darray\Debug\daaray.obj

     文件        381  2012-05-27 11:21  darray\darray\Debug\darray.exe.intermediate.manifest

     文件         54  2012-05-27 11:21  darray\darray\Debug\darray.lastbuildstate

     文件       1867  2012-05-27 11:21  darray\darray\Debug\darray.log

     文件        691  2012-05-27 08:48  darray\darray\Debug\darray.vcxprojResolveAssemblyReference.cache

     文件          0  2012-05-27 08:48  darray\darray\Debug\darray.write.1.tlog

     文件       5080  2012-05-27 11:21  darray\darray\Debug\function.obj

     文件       2400  2012-05-27 11:21  darray\darray\Debug\link.command.1.tlog

     文件       2610  2012-05-27 11:21  darray\darray\Debug\link.read.1.tlog

     文件        632  2012-05-27 11:21  darray\darray\Debug\link.write.1.tlog

     文件        416  2012-05-27 11:21  darray\darray\Debug\mt.command.1.tlog

     文件        602  2012-05-27 11:21  darray\darray\Debug\mt.read.1.tlog

     文件        242  2012-05-27 11:21  darray\darray\Debug\mt.write.1.tlog

     文件      52224  2012-05-27 11:21  darray\darray\Debug\vc100.idb

     文件      61440  2012-05-27 11:21  darray\darray\Debug\vc100.pdb

     文件        486  2012-05-27 11:21  darray\darray\function.cpp

     文件        116  2012-05-27 10:27  darray\darray\function.h

     文件         21  2012-05-27 09:43  darray\darray\in1.file

     文件          9  2012-05-27 09:51  darray\darray\in2.file

     文件       2685  2012-05-27 11:21  darray\darray\main.c

     文件         12  2012-05-27 11:21  darray\darray\out.file

     文件    1986560  2012-05-27 11:23  darray\darray.sdf

     文件        885  2012-05-27 08:48  darray\darray.sln

............此处省略14个文件信息

评论

共有 条评论