#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請輸入稀疏矩陣的行數,列數和非零元素個數(用逗號隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號,列號,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對角線元素的和::%d\n",p->v); else printf("\n\t\t對角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統 "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請選擇菜單號(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯誤!請重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時間: 2020-06-11
上傳用戶:ccccy
《零死角玩轉STM32》系列教程由初級篇、中級篇、高級篇、系統篇、四個部分組成,根據野火STM32開發板舊版教程升級而來,且經過重新深入編寫,重新排版,更適合初學者,步步為營,從入門到精通,從裸奔到系統,讓您零死角玩轉STM32。M3的世界,于野火同行,樂意愜無邊。另外,野火團隊歷時一年精心打造的《STM32庫開發實戰指南》將于今年10月份由機械工業出版社出版,該書的排版更適于紙質書本閱讀以及更有利于查閱資料。內容上會給你帶來更多的驚喜。是一本學習STM32必備的工具書。敬請期待!當我們在學習一款CPU的時候,最經典的實驗莫過于流水燈了,會了流水燈的話就基本等于學會會操作I/0口了。那么在學會操作I/O之后,面對那么多的片上外設我們又應該先學什么呢?有些朋友會說用到什么就學什么,聽起來這也不無道理呀。但對于野火來說會把學習串口的操作放在第二位。在程序運行的時候我們可以通過點亮一個LED來顯示代碼的執行的狀態,但有時候我們還想把某些中間量或者其他程序狀態信息打印出來顯示在電腦上,那么這時串口的作用就可想而知了。
標簽: stm32
上傳時間: 2022-07-27
上傳用戶:
《零死角玩轉STM32》系列教程由初級篇、中級篇、高級篇、系統篇、四個部分組成,根據野火STM32開發板舊版教程升級而來,且經過重新深入編寫,重新排版,更適合初學者,步步為營,從入門到精通,從裸奔到系統,讓您零死角玩轉STM32。M3的世界,于野火同行,樂意愜無邊。另外,野火團隊歷時一年精心打造的《STM32庫開發實戰指南》將于今年10月份由機械工業出版社出版,該書的排版更適于紙質書本閱讀以及更有利于查閱資料。內容上會給你帶來更多的驚喜。是一本學習STM32必備的工具書。敬請期待!1、如何編譯和下載程序99800V在拿到開發板之后,很多朋友都想先嘗嘗鮮,想自己燒寫個程序到開發板上,看看效果。下面將演示如何將光盤里面自帶的程序燒寫到野火STM32開發板上。前提是你的電腦上已經安裝了J幾INK驅動和如K開發環境,如果這一部沒有完成,請參考《2、JINK驅動安裝與如K環境搭建》。野火STM32開發板光盤上提供的代碼都是已經編譯好的,直接下載即可。
標簽: stm32
上傳時間: 2022-07-27
上傳用戶:
壓電陶瓷換能器在醫學超音波儀器的應用
上傳時間: 2013-07-13
上傳用戶:eeworm
數字圖像處理(K.R.Castkeman)
上傳時間: 2013-06-18
上傳用戶:eeworm
C++從零開始
標簽: 零
上傳時間: 2013-05-30
上傳用戶:eeworm
零基礎學Visual C++ 電子教程+隨書光盤
上傳時間: 2013-07-31
上傳用戶:eeworm
μi - GAP - AL 自動計算的軟件.xls
上傳時間: 2013-06-08
上傳用戶:eeworm
零死角玩轉STM32 系統篇 超清書簽版
上傳時間: 2013-05-20
上傳用戶:eeworm
零死角玩轉STM32 初級篇 超清書簽版
上傳時間: 2013-04-15
上傳用戶:eeworm