برنامه نویسیPrograming

برنامه نویسی pascal,C++,C

برنامه نویسیPrograming

برنامه نویسی pascal,C++,C

ماتریس Spars


 برنامه "ماتریس اسپارس" به زبان ++C. 

 

ماتریس اسپارس:همانطور که می دانید به ماتریسی که تعداد زیادی از عناصر آن صفر باشند ، ماتریس اسپارس گفته می شود.
اینگونه ماتریس ها فضای زیادی از حافظه را بهدر می دهند.
برای جلوگیری از این مشکل تنها،عناصر غیر صفر ماتریس به همراه اندیس 

 آن نگهداری می شود که باعث صرفه جویی قابل ملاحظه ای در حافظه می شود.
این ماتریس دارای سه ستون و تعداد سطرهای آن به اندازه عناصر غیر صفر می باشد. 


 
برای مشاهده سورس برنامه به ادامه مطلب مراجعه فرمایید.


برنامه "ماتریس اسپارس" به زبان ++C.

 

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define MAX 100
void main()
{
 textcolor(7);
 textbackground(1);
 clrscr();
 int inmat[MAX][MAX];
 int row[MAX-1],rowc=0;
 int col[MAX-1],colc=0;
 int digit[MAX],digitc=0;
 int n,k;
 cout<<"\n\n\n\tPlease Enter Number For Input Data: ";
 cin>>n;
 for(int i=0;i<n;i++)
  for(int j=0;j<n;j++)
  {
   cout<<"\n\n\tEnter inmat["<<i<<"]["<<j<<"]: ";
   cin>>inmat[i][j];
   if(inmat[i][j]!=0)
   {
    row[rowc++]=i;
    col[colc++]=j;
    digit[digitc++]=inmat[i][j];
   }
  }
 clrscr();
 cout<<"\n\n\n\tOutput Matrix(SPARS MATRIX)=\n\n";
 cout<<"\tR o w\tColumn\tDigit<>'0'\n\n\t  ";
 for(k=0;k<digitc;k++)
 {
  cout<<row[k]<<"\t  ";
  cout<<col[k]<<"\t  ";
  cout<<digit[k]<<"\n\t  ";
 }
 getch();
}

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد