#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請輸入稀疏矩陣的行數(shù),列數(shù)和非零元素個數(shù)(用逗號隔開):");
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 稀疏矩陣的三元組系統(tǒng) ");
printf("\n\t\t*********************************");
printf("\n\t\t 1------------創(chuàng)建 ");
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");
}
}
標(biāo)簽:
數(shù)組
子系統(tǒng)
上傳時間:
2020-06-11
上傳用戶:ccccy
VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(114)資源包含以下內(nèi)容:1. FREESCALE 9S08AW60 串口調(diào)試程序.2. saa7113視頻解碼芯片外圍電路設(shè)計(jì)原理圖.3. 這是在用的AD7705源程序.4. 紅外線遙控原理以及單片機(jī)制作自學(xué)習(xí)遙控器詳細(xì)設(shè)計(jì)思路.5. 在微波整體集成電路設(shè)計(jì)、理論和描述特性的一條新穎的路線的PDF學(xué)術(shù)論文.6. 對于內(nèi)部具有D /A轉(zhuǎn)換器的單片機(jī),采用其自備的D /A轉(zhuǎn)換器產(chǎn)生需要的信號是最經(jīng)
濟(jì)的方法。C8051F020是Cygnal公司最新的一款功能強(qiáng)大的內(nèi)部具有D /A轉(zhuǎn)換器的單片機(jī)。介紹了
采用查.7. 液晶6963模塊 240*64,外接PS2鍵盤,多級菜單.這是我工作中的一個程序,有興趣的可以看.8. 這是一個i2c程序,經(jīng)過多次應(yīng)用都能成功實(shí)現(xiàn)功能,而且簡要實(shí)用.9. 本電子書是很多嵌入式開發(fā)經(jīng)典文章和技巧使用的PDF格式的書籍.10. 168線SD內(nèi)存條電路原理圖資料,好像是臺灣人寫的.11. FPGA可促進(jìn)嵌入式系統(tǒng)設(shè)計(jì)改善即時應(yīng)用性能.12. fat32文件系統(tǒng)格式說明
十分詳盡.13. fat32和fat16文件系統(tǒng)格式說明.14. 講解嵌入式開發(fā)的入門書!非常不錯,值得一看!.15. TMS320C6000CSLAPIReferenceGuideRev.I的pdf.16. s7300 400 step7 plc仿真軟件說明.17. with avr mega 8515 in the C-code AVR.18. Altera原裝MAX_II開發(fā)板原理圖,是用protel繪制的.19. zlg7290是一個能夠8*8的鍵盤驅(qū)動芯片.20. 主要介紹各種芯片原理、功能、及其使用方法.21. 對芯片MCP2551的中文使用說明.22. 嵌入式T9輸入法的源代碼.23. BMP頭文件的源代碼.24. 自己收集整理和調(diào)試OK的三個Game源代碼.25. S24C10最小系統(tǒng)原理圖 包括FLASH SRAM等.26. 一個電平轉(zhuǎn)換芯片的資料74LVC4245,它在以太網(wǎng)中也發(fā)揮了很大的作用,對WEB開發(fā)人員有借鑒的價值.27. mmc卡的specification標(biāo)準(zhǔn)的英文版的.28. TMS320C2812全套例程.29. 這是用于lpc2106的自帶ADC功能的演示,利用KEIL FOR ARM 開發(fā),可以參考學(xué)習(xí)..30. megal16在codevision下關(guān)于1602的驅(qū)動程序.31. 分布式多DSP系統(tǒng)的CPCI總線接口設(shè)計(jì)和驅(qū)動開發(fā).32. 電子音量pT2314原程序
需要的朋友請趕快.33. 用protel dxp繪制三分頻原理圖和pcb電路板等.34. Bootloader(引導(dǎo)裝載器)是用于初始化目標(biāo)板硬件.35. OKI DEMO FLASH WRITE PROGRAM.36. OKI 675050 hardware accelerator sample program.37. verilog的一些源代碼.38. i.mx31 3DS平臺Nandboot引導(dǎo)程序源碼.39. c8051f24是個教學(xué)的程序.40. < ALTERA FPGA/CPLD 高級篇>>光盤資料中 體會“面積和速度的平衡與互換” 例程.
標(biāo)簽:
RFID
無線
射頻識別技術(shù)
上傳時間:
2013-07-17
上傳用戶:eeworm