`
yzd
  • 浏览: 1858547 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

把我的 C 作业贴出来 实验三 数组——2

 
阅读更多

实验三 数组

一、 实验目的

1.熟悉数组的结构

2.掌握矩阵的压缩存储

3.能够对数组和矩阵的压缩存储进行运算

一、 实验内容

2. AB是两个n×n阶的对称矩阵,输入时,以行为主序输入对称矩阵的下三角元素,存入以尾数组,编写一个算法计算对称矩阵AB的乘积。(文件夹:对称矩阵相乘)




/*数组结构类型的定义.h*/

/*

const int n=3;

const int size=n*(n+1)/2;

*/

#define n 3

#define size (n*(n+1)/2)

typedef int datatype;

typedef struct{

datatype A[size],B[size],C[n][n];

}array;

/*

AB是两个n×n阶的对称矩阵,输入时,以行为主序输入对称矩阵的下三角元素,存入一维数组,

编写一个算法计算对称矩阵AB的乘积。

*/

#include <stdio.h>

#include <stdlib.h>

#include"数组结构类型的定义.h"

int main()

{

array * pa;

/*pa=new array;*/

pa = (array *)malloc( sizeof(array) );

printf("请输入矩阵A(%d各元素)=/n",size);

input(pa->A);/*以行为主序输入矩阵A的下三角*/

printf("请输入矩阵B(%d各元素)=/n",size);

input(pa->B);/*以行为主序输入矩阵B的下三角*/

mult(pa);

puts("A*B=");

output(pa->C);/*输出矩阵C*/

system("PAUSE");

return 0;

}

/*对称矩阵的输入.h*/

#include"数组结构类型的定义.h"

void input(datatype x[])

{

int i;

for( i=0;i<size;i++)

/*cin>>x[i];*/

scanf("%d",x+i);

return ;

}

/*矩阵的输出.h*/

#include"数组结构类型的定义.h"

void output(datatype x[][n])

{

int i,j;

for( i=0;i<n;i++)

{

for( j=0;j<n;j++)

/* cout<<setw(5)<<x[i][j];*/

printf("%5d",x[i][j]);

/*cout<<endl;*/

puts("/n");

}

return ;

}

#include"数组结构类型的定义.h"

void mult( array * pa )

{

void take( int pb[] , int p[] , int j );

int row[n];

int col[n];

int i,j;

int k;

int t;

for( i=0 ; i<n ; i++ )

{

take( pa->A , row , i );

for( j=0 ; j<n ; j++ )

{

take( pa->B , col , j );

pa->C[i][j] = 0;

for(k=0;k<n;k++) pa->C[i][j] += row[k]*col[k];

}

}

return;

}

void take( int pb[] , int p[] , int j )

{

int i;

for(i=0;i<n;i++)

{

if(i>=j)

p[i] = pb[i*(i+1)/2+j];

else

p[i] = pb[j*(j+1)/2+i];

}

return;

}

分享到:
评论

相关推荐

    C语言编程技术实践2020版 实验数组教学单元设计.doc

    **C语言编程技术实践——实验六:数组** 在C语言编程技术实践中,实验六的核心是理解和运用数组这一关键概念。数组是C语言中用于存储一组相同类型数据的集合,是程序设计的基础工具之一。本实验旨在帮助学生深入...

    数组基础题目作业大纲.doc

    在本实验中,我们将深入学习和实践一维数组、二维数组以及动态数组的概念和使用。 一、一维数组 一维数组可以视为线性数据结构,它由一系列按照特定顺序排列的元素组成。在C/C++中,定义一个一维数组的基本语法是...

    批处理系统的作业调度 实验报告

    3. **实现响应比高者优先(HRRN)作业调度算法**:通过编写C语言程序来实现一种常见的作业调度策略——响应比高者优先算法。 #### 二、实验原理 ##### 批处理系统调度与管理方式 批处理系统是一种操作系统模式,...

    c语言实验贪吃蛇游戏大作业(附源代码和实验报告)

    在本项目中,我们关注的是一个使用C语言编写的经典游戏——贪吃蛇。这是一个常见的编程实验,旨在帮助学生深入理解C语言的基本概念,如控制结构、数组、函数以及内存管理。下面将详细介绍这个项目涉及的关键知识点。...

    c语言实验作业源代码

    在本实验作业中,我们将深入探讨C语言编程中的一个重要数据结构——链表。链表是一种动态数据结构,它不像数组那样需要预先分配连续的内存空间,而是通过节点间的指针链接来存储数据。这对于处理不确定数量的数据...

    C语言大作业报告——2048小游戏程序.pdf

    "C语言大作业报告——2048小游戏程序.pdf" 本资源为一份C语言大作业报告,旨在设计和实现一个小型信息库管理系统或闯关式游戏程序,即2048小游戏程序。该游戏程序要求使用C语言编写,采用自顶向下的模块化设计思想...

    C语言课程设计大作业-学生管理系统(含报告和源码).zip

    内涵实验报告和源代码,注释详细,可直接做课设使用,课程报告已写好。 题目:学生管理系统设计 功能:学生管理系统设计,每个学生信息作为一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍...

    中国科学院大学22-23秋季学期 《程序设计基础与实验(C语言)》课程大作业——基于Min-Max搜索策略的五子棋对战程序

    C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句...

    程序设计入门—C语言(完)-浙江大学-翁恺 视频.txt

    C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多...但是一般我们设计课程需要1:1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。

    数据结构实验与习题线性表栈和队列串数组树与二叉树

    本书《数据结构实验与习题——线性表栈和队列串数组树与二叉树》旨在帮助学生更好地理解和实践这些概念。 首先,书中介绍了C语言基础知识,这是实现数据结构的基础。C语言的基本输入输出、函数及其参数传递、以及...

    C/C++实训题目及答案

    在本资源中,"C/C++实训题目及答案"是一个专为C和C++初学者设计的实践训练材料。这个压缩包包含了一系列的编程题目以及它们对应的解答,旨在帮助学习者提升对这两种语言的理解和应用能力。以下是这些知识点的详细...

    C语言作业报告以及课程设计(课程98分,课设优秀,含源代码)

    这份名为"C语言作业报告以及课程设计(课程98分,课设优秀,含源代码)"的资源集合,是南京航空航天大学C语言课程的一份高质量学习资料。它包含了学生董家华在该课程中的全部作业和课程设计内容,且整体成绩达到98分...

    大二上——数据结构_数据结构实验_

    在这个“大二上——数据结构”实验中,我们将深入学习并实践一些基础且重要的数据结构,如栈、链表和队列。 1. **栈**(Stack):栈是一种后进先出(LIFO, Last In First Out)的数据结构,类似于现实生活中的堆叠...

    C语言编程技术实践2020版 实验熟悉C语言教学单元设计.doc

    本教学单元设计主要关注实验一——熟悉C语言,旨在使学生掌握C语言的基础知识和编程技能,为后续的学习打下坚实的基础。 知识目标: 1. **模块化、结构化程序设计思想**:C语言支持模块化和结构化编程,这是一种将...

    数字旋转方阵 分治法——C++代码

    课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的

    C语言教学计划

    实验部分在课程中占据了重要地位,从第2周开始,每周都有相应的实验内容。实验一让学生熟悉上机环境和简单程序设计,通过实际操作来加深对编程的理解。后续的实验则围绕着选择结构和循环结构进行,让学生通过编程...

    高级语言程序设计(SIST000812)第2次实验(大作业)报告-成绩管理-链表实现(含完整代码及设计框架 )

    【高级语言程序设计(SIST000812)第2次实验报告——成绩管理系统的链表实现】 本次实验旨在让学生掌握程序设计的基本算法和数据结构,如链表,以及自顶向下、逐步求精的模块化设计方法。实验内容是设计一个学生成绩...

    Queue_hustC++实验_

    在华中科技大学计算机学院的C++实验课程中,"Queue_hustC++实验_"是一个针对初学者设计的项目,旨在让学生掌握数据结构中的基础概念——队列(Queue)的实现。队列是一种线性数据结构,遵循“先进先出”(FIFO, ...

    190110419_李怡凯_实验九2

    【标题】"190110419_李怡凯_实验九2"指的是一个学生名为李怡凯的计算机类专业学生的实验作业,该实验可能是关于高级语言程序设计的一部分,具体实验编号为“实验九2”。实验的执行环境是在哈尔滨工业大学(深圳)...

    数值与符号计算作业-线性方程组LinearEquation求解代码+实验报告(Python+C)

    在本作业中,我们将深入探讨数值与符号计算领域中的一个重要主题——线性方程组的求解。线性方程组是数学中的基础概念,广泛应用于工程、物理、经济等众多领域。Python和C语言都是编程界常用的工具,它们各自有独特...

Global site tag (gtag.js) - Google Analytics