PDA

View Full Version : این برنامه ها چیکار میکنن؟میشه راهنماییم کنید



omidv2b
شنبه 30 آذر 1392, 17:09 عصر
برنامه اول:
#include "stdio.h"
#include "conio.h"
void sTranspose(int b[5][3], int bt[5][3]);
int main()
{
int i, j, b[5][3], bt[5][3];
clrscr();
w=2;
gotoxy(1,++w);
for(i = 0; i < 5; i ++)
for(j = 0; j < 3; j ++)
{
printf("Enter b[%d][%d] :", i, j);
scanf("%d", &b[i][j]);
}
sTranspose(b, bt);
gotoxy(20,++w);
printf("Transpose of sparse matrix b: ");
gotoxy(21,++w);
for(i = 0; i < 5; i ++)
{
for(j = 0; j < 3; j ++)
printf("%5d ",bt[i][j]);
gotoxy(21,++w);
}
getch();
return 0;
}
//************
void sTranspose(int b[5][3], int bt[5][3])
{
int i, j, k;
int m = b[0][1]; //number of columns
int t = b[0][2]; //number of non zero elements
bt[0][0] = m;
bt[0][1] = b[0][0];
bt[0][2] = t;
k = 1;
for(i = 0; i < m; i ++)
for(j = 1; j <= t; j ++)
if(i ==b[j][1])
{
bt[k][0] = b[j][1];
bt[k][1] = b[j][0];
bt[k][2] = b[j][2];
k ++;
}
}
*******************************
برنامه دوم:
// Mul Matrix sparse A,B
#include<stdio.h>
#include<conio.h>
void main()
{
int A[5][2],B[5][2],C[25][2],i,j,k,n,m,s,w;
clrscr();
w=2;
gotoxy(1,w);
printf("please enter tedade Jomalate f(x1) ");
scanf("%d",&n);
w=w+2;
gotoxy(1,w);
printf("Enter f(x)1:");
printf(" first Enter zarib , Next Enter tavan");
w=w+2;
gotoxy(1,w);
for(i=0;i<n;i++)
for(j=0;j<2;j++)
{
printf(" f(x1) [%d][%d]: ",i,j);
scanf("%d",&A[i][j]);
}
w=w+4;
printf("press a key...");
getch();
clrscr();
w=2;
gotoxy(1,w);
printf("please enter tedade Jomalate f(x2) ");
w=w+2;
gotoxy(1,w);
scanf("%d",&m);
w=w+2;
gotoxy(1,w);
printf("Enter f(x)2:");
printf(" first Enter zarib , Next Enter tavan");
w=w+4;
gotoxy(1,w);
for(i=0;i<m;i++)
for(j=0;j<2;j++)
{
printf(" f(x2) [%d][%d]: ",i,j);
scanf("%d",&B[i][j]);
}
k=m*n;
s=0;
for(i=0;i<k;i++)
for(j=0;j<2;j++)
C[i][j]=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
C[s][1]=A[i][1]+B[j][1];
C[s][0]=A[i][0]*B[j][0];
if(C[s][1]+C[s][0])
s++;
}
printf("press a key...");
getch();
clrscr();
w=10;
gotoxy(1,10);
printf("Mul Matrix A , B is : ");
for(i=0;i<s;i++)
for(j=0;j<2;j++)
{
w++;
gotoxy(1,w);
printf(" c[%d][%d]: %d",i,j,C[i][j]);
}
getch();
}
*************************************
برنامه سوم:
#include "stdio.h"
#include "conio.h"
void multiply(int m1[][3], int m2[][4], int m3[][4]);
int main()
{
int m1[2][3], m2[3][4], m3[2][4]={0} ;
int i, j,w ;
clrscr();
//read mat1
for(i = 0 ; i < 2 ; i++)
for(j = 0 ; j<3 ;j++)
{
printf("Enter m1[%d][%d]: ",i, j);
scanf("%d", &m1[i][j]) ;
}
//read mat2
for(i = 0 ; i < 3 ; i++)
for(j = 0 ; j < 4 ; j++)
{
printf("Enter m2[%d][%d]: ",i, j);
scanf("%d", &m2[i][j]) ;
}
multiply(m1, m2, m3);
printf(" press a key...");
getch();
clrscr();
w=10;
gotoxy(1,w);
printf(" Produc of mat1 & mat2 is : ") ;
gotoxy(1,++w);
for(i = 0 ;i < 2 ; i++)
{
for(j = 0 ; j < 4 ; j++)
printf("%5d", m3[i][j]) ;
gotoxy(1,++w);
}
getch();
return 0;
}
//*******************
void multiply(int m1[][3], int m2[][4], int m3[][4])
{
int i, j, k;
//multiply mat1 by mat2
for(i = 0 ; i < 2 ; i++)
for(j = 0 ; j < 4 ; j++)
for(k = 0 ;k < 3 ; k ++)
m3[i][j] = m3[i][j] + m1[i][k]* m2[k][j];
}
*************************************
برنامه چهارم:
#include<iostream>
#include<conio.h>
using namespace std;
template<class T>
void sTranspose(T b[5][3],T bt[5][3])
{
int i,j,k;
int m=b[0][1];
int t=b[0][2];
bt[0][0]=m;
bt[0][1]=b[0][0];
b[0][2]=t;
k=1;
for(int i=0;i<m;i++)
for(int j=1;j<=t;j++)
if(i==b[j][1])
{
bt[k][0]=b[j][1];
bt[k][1]=b[j][0];
b[k][2]=b[j][2];
k++;
}
}
//*************************************
int main()
{
int i,j,b[5][3],bt[5][3];
//clrscr();
for(int i=0;i<5;i++)
for(int j=0;j<3;j++)
{
cout<<"enter b["<<i<<"]["<<j<<"]";
cin>>b[i][j];
}
sTranspose(b,bt);
cout<<"Transpose of sparse matrix b:\n";
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{
cout.width(5);
cout<<b[i][j];
}
cout<<"\n";
}
getch();
return 0;
}