西安科技大學
本科生c語言課程
實習報告
題目: 矩陣的運算
課程名稱 c++語言程式設計
學院地質與環境學院
專業資源勘查0901班
學號 0909030126
學生姓名崔慶創
實習目的:
(1) 了解vc++的執行環境。
(2) 掌握c++環境下矩陣的運算。
(3) 理論與實踐相結合,深入了解課程內容。
實習內容與任務:
在vc++環境下對矩陣的加減乘法及轉置、最值運算進行編譯。
程式簡介:
主要利用二維陣列if語句和for迴圈語句進行編譯。
(1)加減法:利用兩個二維陣列進行加減,主體是for迴圈語句,語句結構簡單但比較繁多,總共用到12個for迴圈結構。最重要的就是兩矩陣加減利用c[i][j]=a[i][j]+b[i][j];
和c[i][j]=a[i][j]—b[i][j];進行運算。
其源**如下:
#define n 3
#define m 3
#include <>
void main()
printf("輸入矩陣b的元素\n");
for(i=0;ifor(j=0;j scanf("%d",&b[i][j]);
for(i=0;i
printf("a+b矩陣\n");
for(i=0;i for(j=0;j c[i][j]=a[i][j]+b[i][j];
for(i=0;i
}其執行介面如下
(2)矩陣的乘法
乘法在加減的基礎上引入乙個變數t,因為在矩陣的乘法中c[i][j]=a[i][t]*b[t][j],另外還用到了for迴圈巢狀語句,即在兩個陣列相乘的時候嵌入
for(i=0;ifor(j=0;j
使得語句得以執行。
其流程圖如下
其源**如下:
#define n 3
#define h 3
#define m 4
#include <>
void main()
printf("輸入矩陣b的元素\n");
for(t=0;tfor(j=0;j scanf("%d",&b[t][j]);
for(t=0;t
printf("a*b矩陣\n");
for(i=0;ifor(j=0;j
for(i=0;i
}其執行介面如下:
(3)對角線之和:
對角線有正對角線和副對角線,定義變數i和j,當i=j的時候,sum=正角線之和;當i==3-j-1時為副對角線之和, 這裡的3和i相對應。程式裡面用到了if語句為的是引出在不同情況下的對角線的運算情況。
其流程圖如下:
其程式源**如下:
#include <>
void main()
其執行介面如下:
(4)矩陣的轉置
矩陣的轉置其實就是行和列的變換,例如a[i][j]變為b[j][i],只是在for迴圈的時候要注意
i和j的位置,以及和n和m之間的關係,如果搞混則輸出結果錯誤或者無輸出結果。
其程式源**如下:
#define n 2
#define m 3
#include <>
void main()
for(i=0;i
for(i=0;i
for(j=0;jb[j][i]=a[i][j];
printf("您轉置後的矩陣是:\n");
for(j=0;j
for(i=0;iprintf("%4d",b[j][i]);
printf("\n");
}}其執行介面如下:
(5)矩陣的最值:
if 語句的使用是比較最大最小值時常用的,在比較最大值時用max作為比較的引數,反之用min。
其程式源**如下:
#define n 2
#define m 3
#include <>
void main()
for(i=0;i
int max=a[0][0],min=a[0][0],r1=0,r2=0,l1=0,l2=0;
for(i=0;ifor(j=0;j
if(max
max=a[i][j];
r1=i+1;
l1=j+1;
printf("矩陣的最大值是: 行%d列%d值%d\n",r1,l1,max);
for(i=0;ifor(j=0;j if(min>a[i][j])
min=a[i][j];
r2=i+1;
l2=j+1;
printf("您所求矩陣的最小值是: 行%d列%d值%d\n",r2,l2,min);
}其執行介面如下:
程式的優缺點
對這套矩陣運算的程式編寫,在一定程度上比較直接簡單,但也比較單調,整個程式只用到了if和for兩個語句,缺乏創新,另外不能將所有的程式融合到乙個檔案裡執行,從而給執行程式帶來一些麻煩,這是以後要克服的乙個障礙。
心得體會
終於完成了實習報告,雖然在一定程度上對自己編譯的程式不是太滿意,但還是勉強能夠執行整個程式。結果是重要的,但這個探索的過程也是值得留念的,可以說這個探索的過程其實是一種樂趣,因為你面對的不是英語上那已經列好了的句子單詞,只要用照本宣科讀和記就行,對語言的開發,充滿了未知數,裡面有好多的探索空間,同乙個題目卻有不同的解法,而且各有個的妙處,並且這個探索的空間永遠也找不到終點。過去自己一直將計算機當作自己學習的乙個盲點,不管是vb還是vf都在一種朦朧的狀態中度過,考試結果可想而知,只能是勉強過關。
雖然對於計算機語言,老師以前講的內容是讓人接受不了,但主要還是自己沒有建立好對計算機的樂趣,一旦和計算機叫上勁,我想這個盲點將會成為我的亮點。不過我得感謝張老師的細心教解,我才得以比較輕鬆的面對著門課,希望以後再接再厲,自己能做的更好。
VC實驗報告1,2,3
班號 學號 姓名 實驗1 vc 開發環境的熟悉和windows程式設計基礎 一 實驗目的 1.熟悉visual c 的開發環境 2.掌握用應用程式嚮導建立乙個控制台應用專案的方法。3.掌握源 檔案的新建 開啟 儲存和關閉等基本操作。4 掌握用應用程式嚮導建立乙個windows應用專案的方法 5.掌握...
如何編寫VC投資報告
網易部落格2010 1 6 9 31 54 有個朋友讓我告訴他怎樣編寫vc投資報告,因為他正在考慮加入一家創業企業,並準備向一些朋友和家人進行種子期中小企業融資,他想照著vc的方式來操作。這件事之後,我意識到大部分創業者可能不了解vc公司或天使俱樂部內部專案投資的運作方式。如果創業者能夠了解vc公司...
VC 課程設計報告
課程 vc 課程設計 系別 電腦科學與計算機學院 班級 學號 姓名 選題1名稱 選題1難易級別 選題2名稱 起止時間 指導教師 日期 年月日目錄 一 課題一目標 1.1 程式功能簡介 1.2 課程設計要求 1.3 評定難易級別 二 課題一具體實現 2.1 程式總體方案 2.1.1開發平台 2.1.2...