Lista e objektivave
Deklarim i matricës
Instruksionet e kontrollit të matricës
Veprime mbi matricën
Shkruani një program që deklaron një matricë A me 2 shtylla dhe 3 rreshta, vlerat e të cilës i lexon nga tastjera. Të lexohet nga tastjera dhe një numër i plotë X. Gjeni:
nëse numri X gjendet në matricen A
pozicionin e parë që gjendet numri X
pozicionin e fundit që gjendet numri X
sa herë përsëritet X
sa herë gjendet X për cdo rresht
Kodi
#include <stdio.h>
#include <conio.h>
#define m 2
#define n 3
//funksion që gjen nëse X ndodhet në matricë
void gjendet (int M[][n],int m1,int n1,int x)
{
bool ugjet =false;
for(int i=0;i<m1;i++)
{ for(int j=0;j<n1;j++)
if(M[i][j]==x)
{
ugjet = true;
break;
}
if(ugjet) break;
}
if(ugjet)
printf("Numri %d gjendet ne matricen A \n",x);
else
printf("Numri %d nuk gjendet ne matricen A \n",x);
}
//funksion që gjen pozicionin e parë që X ndodhet në matricë
void pozicioniPare (int M[][n],int m1,int n1,int x)
{
bool ugjet =false; int i,j,pozi,pozj;
for(int i=0;i<m1;i++)
{ for(int j=0;j<n1;j++)
if(M[i][j]==x)
{
ugjet = true;
pozi=i;
pozj=j;
break;
} if(ugjet) break; }
if(ugjet)
printf("Numri %d gjendet ne matricen A ne poz i: %d dhe j: %d \n",x,pozi,pozj);
else
printf("Numri %d nuk gjendet ne matricen A \n ",x);
}
//funksion që gjen pozicionin e fundit që X ndodhet në matricë
void pozicioniFundit (int M[][n],int m1,int n1,int x)
{
bool ugjet =false; int pozi,pozj;
for(int i=0;i<m1;i++)
for(int j=0;j<n1;j++)
if(M[i][j]==x)
{
ugjet = true;
pozi=i;
pozj=j;
}
if(ugjet)
printf("Numri %d gjendet ne matricen A ne poz i: %d dhe j: %d \n",x,pozi,pozj);
else
printf("Numri %d nuk gjendet ne matricen A \n ",x);
}
//funksion që gjen sa herë ndodhet X në matricë
void frekuencaNrMatrice (int M[][n],int m1,int n1,int x)
{
int count=0;
for(int i=0;i<m1;i++)
for(int j=0;j<n1;j++)
if(M[i][j]==x)
count++;
if(count>0)
printf("Numri %d gjendet ne matricen A %d here \n",x,count);
else
printf("Numri %d nuk gjendet ne matricen A \n ",x);
}
void frekuenceNrPerRresht (int M[][n],int m1,int n1,int x)
{
int frek[m1];
for(int i=0;i<m1;i++)
{
frek[i]=0;
for(int j=0;j<n1;j++)
if(M[i][j]==x)
{
frek[i]++;
}
}
for(int i=0;i<m1;i++)
if(frek[i]>0)
printf("Numri %d gjendet ne rreshtin %d ne matricen A %d here \n",x,i,frek[i]);
}
//Programi main për deklarimin e matricës
int main(){
int A[m][n];
int i,j,k;
printf("Jepni elemente e matrices \n");
for(i=0;i<m;i++)
{
printf("Jepni elemente e rreshtit %d \n",i);
for(j=0;j<n;j++)
scanf("%d",&A[i][j]);
}
printf("Jepni elementin\n");
scanf("%d",&k);
gjendet(A,m,n,k);
pozicioniPare(A,m,n,k);
pozicioniFundit(A,m,n,k);
frekuencaNrMatrice(A,m,n,k);
frekuenceNrPerRresht(A,m,n,k);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",A[i][j]);
printf("\n");
}
getch();
return 0;
}
Jepet matrica A me përmasa N dhe M. Shkruani një program që ndryshon vendet:
a. rreshti parë me rreshtin e fundit
b. kolona e parë me kolonën e fundit
c. diagonalen kryesore me diagonalen dytësore
Kodi
#include <stdio.h>
#include <conio.h>
#define m 3
#define n 3
int main(){
int A[m][n];
int i,j,k;
printf("Jepni elemente e matrices \n");
for(i=0;i<m;i++)
{
printf("Jepni elemente e rreshtit %d \n",i);
for(j=0;j<n;j++)
scanf("%d",&A[i][j]);
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",A[i][j]);
printf("\n");
}
printf("\n");
// rreshti pare me rreshtin e fundit
int tmp;
for(j=0;j<n;j++){
tmp=A[0][j];
A[0][j]=A[m-1][j];
A[m-1][j]=tmp;
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",A[i][j]);
printf("\n");
}
printf("\n");
// kolona e pare me kolonen e fundit
for(j=0;j<m;j++){
tmp=A[j][0];
A[j][0]=A[j][n-1];
A[j][n-1]=tmp;
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",A[i][j]);
printf("\n");
}
//diagonalen kryesore me diagonalen dytesore
printf("\n");
for(i=0;i<m;i++)
{
tmp=A[i][i];
A[i][i]=A[i][n-1-i];
A[i][n-1-i]=tmp;
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",A[i][j]);
printf("\n");
}
getch();
return 0;
}