freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

課程設(shè)計(jì)報(bào)告—稀疏矩陣的完全鏈表表示及其運(yùn)算(編輯修改稿)

2025-08-17 11:14 本頁面
 

【文章內(nèi)容簡介】 非零元的值反號 p=pright。 } } return (M)。 }int Mult(CrossList M,CrossList N,CrossList amp。Q){ int i,j,e。 OLink q,p0,q0,q1,q2。 if(!=) { printf(你輸入的兩個(gè)距陣不能進(jìn)行此操作\n)。 exit(OVERFLOW)。 } else { =。 =。 =0。 =(OLink*)malloc((+1)*sizeof(OLink))。 if(!) exit(OVERFLOW)。 =(OLink*)malloc((+1)*sizeof(OLink))。 if(!) exit(OVERFLOW)。 for(i=0。i!=。i++)//初始化行 [i]=NULL。 for(i=0。i!=。i++)//初始化列 [i]=NULL。 for(i=0。i!=。i++) for(j=0。j!=。j++) { p0=[i]。 q0=[j]。 e=0。 while(p0amp。amp。q0) { if(q0ip0j) q0=q0down。//列后移 else if(q0ip0j) p0=p0right。//行后移 else { e=e+p0e*q0e。//乘積累加 q0=q0down。 p0=p0right。//行列后移 } } if(e)//e不為零則插入Q { ++。 q=(OLink)malloc(sizeof(OLNode))。 if(!q) exit(OVERFLOW)。 qi=i。 qj=j。 qe=e。 qright=NULL。 qdown=NULL。 if(![i]) [i]=q1=q。 else q1=q1right=q。 if(![j]) [j]=q。 else { q2=[j]。 while(q2down) q2=q2down。 q2down=q。 } } } return OK。 }}四、上機(jī)調(diào)試過程:由于代碼是仿照網(wǎng)上代碼參照而寫出來的,網(wǎng)上代碼是c++編寫的,所以部分代碼需要改寫成C語言,由于C++我們沒學(xué)過,所以還要通過查詢書籍和網(wǎng)絡(luò)了解C++語言如何改寫成C語言,cout endl。語句等價(jià)于printf 例:cout你輸入的是endl。等價(jià)于printf(你輸入的是)。cin。語句等價(jià)于scanf 例:cinSelect。等價(jià)于scanf(%d,amp。Select)。 其中Select是int型 c語言中變量的定義必須在函數(shù)的首部: 像這種的要把int j。提出來 : 在設(shè)計(jì)方面,主要就是算法思想的設(shè)計(jì),以及具體函數(shù)的設(shè)計(jì)運(yùn)行。在這方面,主要的算法設(shè)計(jì)思想倒不是特別的難想,主要是具體函數(shù)例如加法的函數(shù)的具體設(shè)計(jì)比較繁瑣,耗費(fèi)了較多時(shí)間。而在編碼方面,由于c語言的學(xué)習(xí)還是在大一下學(xué)期,所以對于相關(guān)知識已經(jīng)有所遺忘,所以在編碼的過程遇到了不少問題需要查閱書籍,尤其涉及到具體代碼的編寫,更是花費(fèi)了不少時(shí)間來修正調(diào)試。 五、測試結(jié)果及其分析 改進(jìn)設(shè)想: 對于運(yùn)算的界面可以更加精美有條理性一些;除此以外,可以給運(yùn)算設(shè)計(jì)一個(gè)選擇界面,用戶可以選擇進(jìn)行計(jì)算和退出;由于部分代碼是參考網(wǎng)上案列c++編碼的,我想把它改成C語言代碼,丹改過來后,他總是報(bào)錯(cuò),調(diào)試也找不來原因,null指沒有聲明,最后自定義個(gè)null值得聲明,還是不行,所以導(dǎo)致我的部分代碼有些不理解,這好似一部分遺憾,希望通過以后的學(xué)習(xí)和學(xué)習(xí)中明白這些原因。 經(jīng)驗(yàn)和體會: 十字鏈表作為存儲結(jié)構(gòu)表示隨機(jī)稀疏矩陣,進(jìn)行兩矩陣的相加運(yùn)算,所以首先要定義一個(gè)十字鏈表作為存儲結(jié)構(gòu)。僅有此還是不夠的,還需要定義指針來指向鏈表中的元素。在開始的時(shí)候,老是得不到想象中的結(jié)果,通過幾次的檢查才發(fā)現(xiàn)問題出在對矩陣中的元素指向沒有弄清楚,所以即使是相位置上的元素也沒有處理好它們的相加問題。這個(gè)實(shí)驗(yàn)從最初的設(shè)計(jì)到完成,出現(xiàn)了很多錯(cuò)誤,通過最終的修正發(fā)現(xiàn),其實(shí)犯的都是小錯(cuò)誤,都是些指針的問題。因?yàn)橹羔樖俏冶容^薄弱的環(huán)節(jié)。我發(fā)現(xiàn)了這些問題,所以我就要進(jìn)行彌補(bǔ)、查缺補(bǔ)漏。通過這次課程設(shè)計(jì),敦促我將過去學(xué)習(xí)過的知識進(jìn)行了溫習(xí),知識只有多鞏固,才能真正的理解與領(lǐng)悟。 用戶使用說明 按提示進(jìn)行相關(guān)操作。 先運(yùn)行出來:出現(xiàn)主界面 先選擇你將要運(yùn)算的功能,列如相加,然后輸入你第一個(gè)稀疏矩陣的行、列、非零元的個(gè)數(shù),接著輸入非零元素的行、列和值; 輸入第二個(gè)稀疏矩陣的行、列、非零元的個(gè)數(shù),接著輸入非零元素的行、列和值; 輸入完成后,點(diǎn)擊回車,它會顯示出你所輸入的第一個(gè)稀疏矩陣、第二個(gè)稀疏矩陣,以及它們相加后得到的稀疏矩陣。 一、 源程序includeincludeincludeincludedefine OK 1define ERROR 0define OVERFLOW 2typedef int ElemType。struct OLNode{ int i,j。 //非零元所在行、列 ElemType e。//非零元值 OLNode *right,*down。}。typedef OLNode *OLink。struct CrossList{ OLink *rhead,*chead。//行、列表頭的頭節(jié)點(diǎn) int mu,nu,tu。//矩陣的行、列和非零元個(gè)數(shù)}。int Create(CrossList amp。M){ int i,j,k,m,n,t。 ElemType e。 OLNode *p,*q。 printf(請輸入稀疏距陣的行數(shù) 列數(shù) 非零元的個(gè)數(shù):)。 scanf(%d%d%d,amp。m,amp。n,amp。t)。 =m。 =n。 =t。 =(OLink*)malloc((m+1)*sizeof(OLink)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1