资源简介
本程序用c实现,在不知道行列的情况,下从文件中读取矩阵,并完成矩阵的转置
代码片段和文件信息
//西安科技大学*********软件工程1102****************学习交流674083554
//本程序用于从文件中读取矩阵,并求出他的转置矩阵,主要难点不在于矩阵的转置而在于,在不知道
//行数列数的情况下从文件中读取矩阵,并赋给二维数组。
#include
#include
int readfile(int matrix[10][10]int &mint &n)
//文件中矩阵存储时不要在矩阵之前打回车,并且不要连续打回车。
{
FILE *p;
int i=0j=0;
char data[100];
int flag=0;
char temp[10];
int lenh=1l=1;
if((p=fopen(“matrix.txt““r+“)) == NULL)
{
return 1;
}
fseek(p02);
fputc(0p);//在文件末尾加上null便于识别文件是否结束
len=ftell(p);//测量出文本大小
fseek(p00);
fread(data1lenp);//将所有数据以字符的形式读入data数组
while (data[i])
{
while(data[i] !=‘ ‘&&data[i] != 10)
//若不是空格或回车则将数据读入temp数组,此数组是分割data数据用的
{
temp[j]=data[i];
i++;
j++;
flag=1;
if(data[i]==0)//如果读到null则数据读完跳出此循环
break;
}
if(flag)
//flag作为标志位,标志temp是否被赋过值
{
matrix[h][l]=atoi(temp);//将temp的字符串转换为整型赋给矩阵
l++;//矩阵的列移到下一位置
for (int k=0;k < j;k++)//清空temp
{
temp[k]=‘ ‘;
}
j=0;
}
if (data[i]==10)//遇到回车说明矩阵一行赋值完成,移向下一行
{
n=l-1;//记录矩阵有几列
h++;
l=1;
}
flag=0;
if(data[i]==0)
break;
i++;
}
m=h;//记录矩阵行数
fclose(p);
}
void change(int matrix[10][10]int c_matrix[10][10]int mint n)
{
int temp;
for (int i=1;i<=m;i++)
{
for (int j=1;j<=n;j++)
{
c_matrix[j][i]=matrix[i][j];
}
}
}
void show(int matrix[10][10]int mint n)
{
for (int h=1;h<=m;h++)
{
for (int l=1;l<=n;l++)
{
printf(“%d\t“matrix[h][l]);
}
printf(“\n“);
}
}
void main()
{
int matrix[10][10]c_matrix[10][10];
int mn;
readfile(matrixmn);
printf(“原矩阵:\n“);
show(matrixmn);
change(matrixc_matrixmn);
printf(“转置矩阵:\n“);
show(c_matrixnm);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-03-31 00:56 转置矩阵\
文件 1974 2013-03-31 00:56 转置矩阵\matrix.cpp
文件 24 2013-03-30 23:20 转置矩阵\matrix.txt
文件 4306 2013-03-28 20:27 转置矩阵\转置矩阵.dsp
文件 524 2013-03-28 19:52 转置矩阵\转置矩阵.dsw
- 上一篇:电网监测系统
- 下一篇:IDEA使用eclipse快捷键
相关资源
- 作业调度算法中文
- 大学课程中相关一些算法题
- 完成NI-USRP的发送和接收应用
- 博客文章《完成端口详解》配套代码
- VC 绘图库VCGraph-V20091123
- 基于单片机的体温呼吸检测系统设计
- 用EXCEL写详细设计
- 数据结构大作业
- vue cli引入微信sdk完成微信接口调用—
- 利用栈实现括号匹配的检验
- 数据结构--员工管理系统
- 数据结构——图论
- 基于8255a的计算器
- 单片机和LCD1602实现的简易计算器
- 影子工厂实习报告 完成版
- 燕山大学plc综合实训完成品。
- 进程调度与内存管理:这是我花了很
- 数值计算方法上机实验报告完全版亲
- linux多线程程序实验,用不同线程完成
- windows下使用iconv
- 四路信号复用,用FPGA完成
- agilent频谱仪控制原代码
- 基于PSO移动机器人路径规划算法
- STM8 UART串口发送完成中断程序
- 使用完成端口实现IOCP服务器端框架,
- STM32的傅里叶算法
- C51单片机密码锁4×4矩阵键盘+LCD1602液
- 指针详解.ppt
- 单片机 颜色传感器TCS34725
- 用430完成的IIC全协议
评论
共有 条评论