Professional Documents
Culture Documents
int main(void){
int nr=0,n=10, s= 0L; float avg = 0.0f; /* Mesatarja */
/* Leximi i numrave per llogaritjen e mesatares */
for(int i = 0; i < n; i ++){
printf("Shkruani numrin [%d]: ", i+1);
scanf("%d", &nr);
s += nr;
}
avg = (float)s/n; /* Mesatarja */
printf("\nMesatarja e 10 numrave = %.2f\n", avg);
return 0;}
int main(void){
int nr[10]; /* Vektor per 10 numra */
int n = 10; /* Numri i elementeve per lexim*/
long sum = 0L; /* Shuma e numrave*/
float avg = 0.0f; /* Mesatarja */
printf("\nShkruani 10 numrats:\n");
for(int i=0;i<n; i++){ /* Leximi i numrave nga tastjera*/
printf("%2d> ",i+1);
scanf("%d", &nr[i]);
sum += nr[i]; }
avg = (float)sum/n;
printf("\nMesatarja = %f\n", avg);
return 0;}
2020 Departamenti i Inxhinierisë Informatike 6
Çfarë është një vektor
FTI – Teknikat dhe gjuhët e programimit
// inicializim i plote
int main(){
int i, n, v[100];
printf("Jepni numrin e elementeve : ");
scanf("%d",&n);
for(i=0; i<n; i++){
printf("Jepni elementin v[%d]:",i+1);
scanf("%d",&v[i]);
}
printf("\n Rezultati \n");
for(i=0; i<n; i++){
if (v[i]%5==0)
printf("v[%d]=%d, ",i+1,v[i]);
}
return 0;}
2020 Departamenti i Inxhinierisë Informatike 12
Përdorimi i vektorëve
FTI – Teknikat dhe gjuhët e programimit
/*
Për të ndërtuar programin i cili llogarit kontrollon nëse një vektor është
simetrik me mesin e tij duhet te shikojmë nëse kemi ndonjë rast kur elementi i
është i ndryshëm me elementin n-i-1, ky cikël do të përsëritet n/2 here. Nëse
kushti nuk plotësohet njëherë do të thotë qe ky vektor nuk është simetrik, dhe do
të ndërpritet program.
*/
int main(){
int n,i,s=0, v[100];
printf("\n Ju lutemi shkruani n:");
scanf("%d", &n);
for (i=0;i<n;i++){
printf("Shkruani elementin %d ",i);
scanf("%d", &v[i]);
}
for (i=0;i<n/2; i++) {
if (v[i]!=v[n-i-1]){
printf("\n Vektori nuk eshte i simetrik");
return 0; //nderpritet programi
}
}
printf("\n Vektori eshte i simetrik");
return 0;}
– Duke filluar nga elementi i parë deri tek elementi i parafundit bëhet krahasimi me
elementin pasardhës dhe nëse elementi pasardhës është më i vogël atëherë ndryshojnë
vendet. Kjo përsëritet n herë dhe në këtë rast kemi vektorin e radhitur.
• Selection Sort
– Duke filluar nga elementi i pare deri ne n elementi me i vogël vendoset elementin e pare.
Pas përfundimit të kontrollit të parë përsërisim të njëjtën gjë si më parë por duke nisur
nga elementi i 2,3..n-1.
• Insertion Sort
– Duke filluar nga elementi i dytë deri në të fundit krahasohet me elementet paraardhës dhe
nëse elementi në të majtë është më i madh ky i fundit spostohet në të djathtë. Kjo
përsëritet deri ne elementin e pare.
1 2 3 4 5 6
FTI – Teknikat dhe gjuhët e programimit
77 42 35 12 101 5
1 2 3 4 5 6
42Swap42
77 77 35 12 101 5
1 2 3 4 5 6
42 7735Swap35
77 12 101 5
42 35 77 101 5
1 2 3 4 5 6
42 35 12 77 101 5
Nuk ka zevendesim
1 2 3 4 5 6
42 35 12 77 5 Swap 101
101 5
1 2 3 4 5 6
42 35 12 77 5 101
1 2 3 4 5 6
FTI – Teknikat dhe gjuhët e programimit
42 35 12 77 5 101
1 2 3 4 5 6
35 12 42 5 77 101
1 2 3 4 5 6
N-1
12 35 5 42 77 101
1 2 3 4 5 6
12 5 35 42 77 101
1 2 3 4 5 6
5 12 35 42 77 101
int a[100];
for(i=1; i<n; i++){
for(j=0;j < n–1;j++){
if (a[j] > a[j+1]) {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
1 2 3 4 5 6
77 42 35 12 101 5
1 2 3 4 5 6
42 35 12 77 5 101
1 2 3 4 5 6
35 12 42 5 77 101
1 2 3 4 5 6
12 35 5 42 77 101
1 2 3 4 5 6
12 5 35 42 77 101
7 2 8 5 4
FTI – Teknikat dhe gjuhët e programimit
2 7 8 5 4
2 4 8 5 7
2 4 5 8 7
2 4 5 7 8
int a[100];
for(i=0;i< n–1;i++){
for(j=i+1;j < n;j++){
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
int a[100];
for(j=1;j < n;j++)
{
k=a[j];
for(i=j–1;i>=0 && k<a[i];i--){
a[i+1]=a[i];
}
a[i+1]=k;
}
– Për të shtuar një element në një vektor me n element në pozicionin p, fillimisht duke
filluar nga elementi i fundit deri te elementi p vlerën e indeksit përkatës e kalojmë ne
elementin pasardhës.
– Pas përfundimit të ciklit vendosim në pozicionin p vlerën përkatëse, numri i elementeve
shkon ne +1
int j;
for (j = n; j > p; j--){
A[j] = A[j-1];
}
A[p] = elementi;
n++;
int j;
for (j = p; j < n-1; j++)
A[j] = A[j+1];
n--;
#include <stdlib.h>
#include <time.h>
int main(){
int i,j,n,max, pmax,v[100];
printf("Jepni numrin n: "); scanf("%d",&n);
//gjenerimi i numrave random;
srand(time(0));
for(i=0;i<n;i++)
v[i]=rand()%1000; //kufizon gjenerimin e numrave nga 0-999
printf("Printimi i vektorit i gjeneruar\n");
for(i=0;i<n;i++)
printf("%d ",v[i]);
for(i=1;i<n;i++){
if (v[i]>max){
pmax=i;
max=v[i];}
}
printf("\nMaksimumi i vektorit eshte elementi v[%d]=%d",pmax, max);
//heqja e elementit ne pozicionin pmax
for(i=pmax;i<n-1;i++){
v[i]=v[i+1];
}
n--;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if (v[i]>v[j]){
temp=v[i];
v[i]=v[j];
v[j]=temp;}
}
}
printf("\nPrintimi i vektorit i gjeneruar\n");
for(i=0;i<n;i++)
printf("%d ",v[i]);
return 0;
}
int v[100][20];
int n[2][3][4] = {
{ /* Blloku i pare */
{ 10, 20, 30, 40 },
{ 15, 25, 35, 45 },
{ 47, 48, 49, 50 }
},
{ /* Blloku i dyte*/
{ 10, 20, 30, 40 },
{ 15, 25, 35, 45 },
{ 47, 48, 49, 50 }
}
};
/*
Per te ndertuar programin mund qe te perdorim dy
cikle me ane te cileve duhet te kontrollojme te
gjithe elementet e matrices me permasa mxn, nese
plotësohet kushti u abs(m[i][j])=i*j. ne rast se ky
kusht plotësohet atehere ky element do te perfshihet
ne llogaritjen e shumes.
*/
for (j=0;j<n;j++){
printf("Elementi M[%d][%d] :",i,j);
scanf("%d", &v[i][j]);}
}
// llogaritja e shumes
for (i=0;i<m;i++){ //Cikli for per i=0 deri ne m, per cdo rresht
for (j=0;j<n;j++){//Cikli for per j=0 deri ne n, per rreshtin i
if (abs(v[i][j])==i*j) // kontrolli i kushti abs(v[i][j])=i*j
s=s+v[i][j];}
}
printf("\n Shuma = %d",s);
return 0;
}
2020 Departamenti i Inxhinierisë Informatike 45
Shembull vektorët shume dimensional
FTI – Teknikat dhe gjuhët e programimit