SlideShare a Scribd company logo
1 of 7
Download to read offline
ADEM VELIKA
Teze Strukture te dhenash nen C
Qershor 2013
1.Te shkruhet nje program per njesimin e shumes 1/(1+2)+3/(2+3)+5/(3+4)+...... .te merren
N thyesa.
Ne fillim te serise kemi thyesen ( )
,pas saj vjen thyesa ( )
dhe e e treta ( )
.Sic shihet
qarte numuruesi rritet me +2 ndersa po te kryejme veprime nen emerues do te kemi formen
: 1/3+3/5+5/7......n; Duke perdorur dy variabla a dhe b me vlere filllestare a=1 dhe b=3
llogarisim shumen .
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
float a=1,b=3,s=0;int n,i;
printf("Jep numurin thyesave :");
scanf("%d",&n);
for(i=0;i<n;i++){
s=s+a/b;
a=a+2;
b=b+2;
}
printf("shuma e %d thyesave eshte %.3f",n,s);
getch();
return 0;
}
Duhet te bejme kujdes qe variablat a dhe b ti deklarojme te tipit float sepse perndryshe do
te kishim rezulatat te gabuar(nqs a dhe b deklarohen te tipit int atehere dhe s mer vlere
int).Ky program mund te thjeshtohet edhe me shume duke perdorur vetem nje variabel
(a).Ne strukturen ‘for’ programi do te marri formen e meposhtme.
for(i=0;i<n;i++){
ADEM VELIKA
s=s+a/(a+2);
a=a+2;
}
2.Te shkruhet nje funksion per njesimin e shumes dhe prodhimit te elementeve te tabeles
T[n] me numra te plote.
Sic shihet nga kerkesa funksioni duhet te ktheje shumen dhe prodhimin e elementeve te
tabeles ,pra ai duhet te jete i tipit void.Me poshte jepen funksioni.
void funksion(int t[],int n,int &s,int &p)
{
s=0;
p=1;
for(int i=0; i<n; i++)
{
s=s+t[i];
p=p*t[i];
}
}
Ne funksionet void thirrja behet sipas references (adreses) .Me ndihmen e strukures ‘for
‘behet e mundur mbledhja dhe njekohesisht me te edhe shumezimi.Me poshte jepet dhe
programi plote.
#include <stdio.h>
#include<stdlib.h>
#include <conio.h>
const int n=4;
void funksion(int t[],int n,int &s,int &p)
{
s=0;
p=1;
for(int i=0; i<n; i++)
{
s=s+t[i];
p=p*t[i];
}
}
int main()
{
int s,p;
int t[n]= {1,2,3,4};
funksion(t,n,s,p);
printf("shuma eshte %dnprodhimi eshte %d",s,p);
getch();
return 0;
ADEM VELIKA
}
3.Te shkruhet nje program rekursiv per njesimin ,ku A>0.
Funksioni rekursiv duhet te kete nje kusht ndalimi dhe ne rastin tone ai do te jete:
if(n==0)
return 1;
Variabli a do te shumezohet n-here me veten nepermjet instruksionit a*funksion(a,n-1);
derisa n te jete 0 dhe te kthej numrin 1 i cili duke u shumezuar me vleren e llogaritur nuk
ia ndryshon vleren.Kushti i ndaljes mund te behet edhe ne kete menyre:
if(n==1)
return a; duke bere keshtu nje veprim me pak.
Me poshte po japim programin e plote
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int funksion(int a,int n)
{
if(n==0)
return 1;
else return a*funksion(a,n-1);
}
int main()
{
int f,a,n;
printf("Jep numurin a dhe n(a^n)n");
scanf("%d%d",&a,&n);
f=funksion(a,n);
printf("%d%s%d%s%d",a,"^",n,"=",f);
getch();
return 0;
}
4.Te shkruhet ne program qe largon nga skedari tekst nr.txt te gjithe numurat negative.
Dihet qe nga skedari tekst nuk mund te fshihen te dhenat ,por vetem mund te mbishkruhet
mbi to duke fshire te dhenat ekzistuese.Per te realizuar kekesen e dhene do te hapim nje
ADEM VELIKA
skedar te ri text nrnew.txt ku te hedhim vetem numurat qe jane me te medhenj se 0 (keshtu
nuk kalojme ne skedarin e ri numurat negative).
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *f,*f1;int numur;
f=fopen("nr.txt","rt");
f1=fopen("nrnew.txt","wt");
while(!feof(f)){
fscanf(f,"%d",&numur);
if(numur>0)
fprintf(f1,"%dn",numur);
}
fclose(f);
fclose(f1);
return 0;
}
5.Te shkruhet nje funksion qe largon nga lista lineare l,elementin e fundit te saj.
Po japim fillimisht programin.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct element
{
int vlere;
struct element *next;
} lista;
lista *krijo(lista *l,int n)
{
int i,nr;
for(i=0; i<n; i++)
{
scanf("%d",&nr);
lista *tmp;
tmp=new element;
tmp->vlere=nr;
ADEM VELIKA
tmp->next=l;
l=tmp;
}
return l;
}
lista *hiqelfund(lista *l)
{
lista *tmp,*sh;
sh=l;
if(l->next==NULL) //nese kemi vetem nje element
{
tmp=l;
l=l->next;
delete(tmp);
}
else //2 ose me shume elemente
{
while(l->next->next!=NULL)
l=l->next;
tmp=l->next;
l->next=tmp->next;
delete(tmp);
l=sh;
}
return l;
}
void afisho(lista *l)
{
while(l!=NULL)
{
printf("%d-->",l->vlere);
l=l->next;
}
}
int main()
{
int n;
lista *l;
l=NULL;
printf("me sa elemete doni qe ta krijoni listen? :n");
scanf("%d",&n);
ADEM VELIKA
printf("jepni elementet:n");
l=krijo(l,n);
printf("lista origjinale eshte:n");
afisho(l);
//tani behet afishimi kur eshte hequr elemeti i fundit
l=hiqelfund(l);
printf("nlista pa elementin e fundit eshten");
afisho(l);
getch();
return 0;
}
Funksioni jone eshte me shkronja te pjerreta dhe bold,ne kodin e mesiperm ai eshte
aktivizuar ne programin e plote.
Fig.1
Me siper jepet skema e nje liste lineare.Ne funksion kemi instruksionin while(l->next-
>next!=NULL)
e cila bene te mundur qe shenjuesi te ndaloje ne elementin e parafundit ne menyre qe te
hiqet elementi i fundit(fig.1) .Me ane te instruksionit tmp=l->next ne bejme te mundur qe
shenjuesi tmp te lidhet me elementin e fundit dhe me pas instruksioni l->next=tmp->next;
lidh elementin e parafundit me NULL.Shenjuesi sh barazohet fillimisht me l dhe shenjojne
qe te dy te fillim te listes .Ne fund me ane te barazimit l=sh; l shenjon perseri ne fillim te
listes.Rasti if(l->next==NULL) vlen per rastin kur ne liste eshte vetem nje element.
6.Te shkruhet nje funksion qe numeron gjethet e nenpemes se majte te pemes binare p.
NULL
Ketu behet
ndalimi i
shenuesit
Tmp
ADEM VELIKA
Me poshte jepet funksioni.
int nrGjethesh(peme *p)
{
if(p->djathte==NULL&&p->majte==NULL)
return 1;
else
return nrGjethesh(p->djathte)+nrGjethesh(p->majte);
Ndersa struktura qe perdoret eshte si me poshte :
typedef struct kulm
{
int vlere;
struct kulm *majte;
struct kulm *djathte;
} peme;
Duhet bere kujdes ne main per aktivizimin e ketij funksioni .Kerkesa kerkon gjethet e
nenpemes se majte,ndersa funksioni numeron gjethet e nje peme binare.Duke qene se
nenpema e majte eshte gjithashtu nje peme ,ne main ai do te aktivizohet si:
variabel=nrGjethesh(p->majte);
*Shenim:Fjala variabel perdoret per nje variabel te cfaredoshem i zgjedhur nga ju:
psh : int a=nenpeme(p->majte);
nenpema e majte
*Shenim:
Keto programe jane kompiluar me Dev-C++.

More Related Content

What's hot

Pyetje me pergjigje nga informatika
Pyetje me  pergjigje nga  informatikaPyetje me  pergjigje nga  informatika
Pyetje me pergjigje nga informatikaDritan Halimi
 
Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)
Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)
Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)fatonbajrami1
 
Bazat e programimit ne c++
Bazat e programimit ne c++Bazat e programimit ne c++
Bazat e programimit ne c++Xhelal Bislimi
 
METODOLOGJIA E MËSIMDHËNIES BASHKËKOHORE
METODOLOGJIA E MËSIMDHËNIES BASHKËKOHOREMETODOLOGJIA E MËSIMDHËNIES BASHKËKOHORE
METODOLOGJIA E MËSIMDHËNIES BASHKËKOHORE#MesueseAurela Elezaj
 
Abdesti hap pas hapi
Abdesti hap pas hapiAbdesti hap pas hapi
Abdesti hap pas hapiGaz Mend
 
Historiku_i_kompjuterëve
Historiku_i_kompjuterëveHistoriku_i_kompjuterëve
Historiku_i_kompjuterëveAbazmemeti
 
HYRJE NE SKRATCH-DHE SB
HYRJE NE  SKRATCH-DHE SBHYRJE NE  SKRATCH-DHE SB
HYRJE NE SKRATCH-DHE SBtushi8
 
01 hyrje në menaxhimin e kostos doc
01 hyrje në menaxhimin e kostos doc01 hyrje në menaxhimin e kostos doc
01 hyrje në menaxhimin e kostos doccoupletea
 
Von-Neumann machine and IAS architecture
Von-Neumann machine and  IAS architectureVon-Neumann machine and  IAS architecture
Von-Neumann machine and IAS architectureShishir Aryal
 
Compiler Design
Compiler DesignCompiler Design
Compiler DesignMir Majid
 
Konceptet e kostos
Konceptet e kostosKonceptet e kostos
Konceptet e kostosHamit Agushi
 
projekt ne informatike
projekt ne informatikeprojekt ne informatike
projekt ne informatikekoralda
 
Teoria e kerkeses
Teoria e kerkesesTeoria e kerkeses
Teoria e kerkesesekonomia
 
C++ permbledhje detyrash-v-neziri-r-dervishi-fiek
C++ permbledhje detyrash-v-neziri-r-dervishi-fiekC++ permbledhje detyrash-v-neziri-r-dervishi-fiek
C++ permbledhje detyrash-v-neziri-r-dervishi-fiekXhelal Bislimi
 

What's hot (20)

Matematike
Matematike Matematike
Matematike
 
Pyetje me pergjigje nga informatika
Pyetje me  pergjigje nga  informatikaPyetje me  pergjigje nga  informatika
Pyetje me pergjigje nga informatika
 
Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)
Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)
Matematika - Dr. Ajet Ahmeti (provim me detyra të zgjidhura)
 
Bazat e programimit ne c++
Bazat e programimit ne c++Bazat e programimit ne c++
Bazat e programimit ne c++
 
METODOLOGJIA E MËSIMDHËNIES BASHKËKOHORE
METODOLOGJIA E MËSIMDHËNIES BASHKËKOHOREMETODOLOGJIA E MËSIMDHËNIES BASHKËKOHORE
METODOLOGJIA E MËSIMDHËNIES BASHKËKOHORE
 
Abdesti hap pas hapi
Abdesti hap pas hapiAbdesti hap pas hapi
Abdesti hap pas hapi
 
Historiku_i_kompjuterëve
Historiku_i_kompjuterëveHistoriku_i_kompjuterëve
Historiku_i_kompjuterëve
 
HYRJE NE SKRATCH-DHE SB
HYRJE NE  SKRATCH-DHE SBHYRJE NE  SKRATCH-DHE SB
HYRJE NE SKRATCH-DHE SB
 
Tranzistori fet8
Tranzistori fet8Tranzistori fet8
Tranzistori fet8
 
Bazat e programimit ne C++ (agni dika)
Bazat e programimit ne C++  (agni dika)Bazat e programimit ne C++  (agni dika)
Bazat e programimit ne C++ (agni dika)
 
01 hyrje në menaxhimin e kostos doc
01 hyrje në menaxhimin e kostos doc01 hyrje në menaxhimin e kostos doc
01 hyrje në menaxhimin e kostos doc
 
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
 
KMPI, HLA, MHC
KMPI, HLA, MHCKMPI, HLA, MHC
KMPI, HLA, MHC
 
Von-Neumann machine and IAS architecture
Von-Neumann machine and  IAS architectureVon-Neumann machine and  IAS architecture
Von-Neumann machine and IAS architecture
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
Konceptet e kostos
Konceptet e kostosKonceptet e kostos
Konceptet e kostos
 
projekt ne informatike
projekt ne informatikeprojekt ne informatike
projekt ne informatike
 
Teoria e kerkeses
Teoria e kerkesesTeoria e kerkeses
Teoria e kerkeses
 
C++ permbledhje detyrash-v-neziri-r-dervishi-fiek
C++ permbledhje detyrash-v-neziri-r-dervishi-fiekC++ permbledhje detyrash-v-neziri-r-dervishi-fiek
C++ permbledhje detyrash-v-neziri-r-dervishi-fiek
 
Informatike
InformatikeInformatike
Informatike
 

Strukture TE DHENASH NEN C

  • 1. ADEM VELIKA Teze Strukture te dhenash nen C Qershor 2013 1.Te shkruhet nje program per njesimin e shumes 1/(1+2)+3/(2+3)+5/(3+4)+...... .te merren N thyesa. Ne fillim te serise kemi thyesen ( ) ,pas saj vjen thyesa ( ) dhe e e treta ( ) .Sic shihet qarte numuruesi rritet me +2 ndersa po te kryejme veprime nen emerues do te kemi formen : 1/3+3/5+5/7......n; Duke perdorur dy variabla a dhe b me vlere filllestare a=1 dhe b=3 llogarisim shumen . #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { float a=1,b=3,s=0;int n,i; printf("Jep numurin thyesave :"); scanf("%d",&n); for(i=0;i<n;i++){ s=s+a/b; a=a+2; b=b+2; } printf("shuma e %d thyesave eshte %.3f",n,s); getch(); return 0; } Duhet te bejme kujdes qe variablat a dhe b ti deklarojme te tipit float sepse perndryshe do te kishim rezulatat te gabuar(nqs a dhe b deklarohen te tipit int atehere dhe s mer vlere int).Ky program mund te thjeshtohet edhe me shume duke perdorur vetem nje variabel (a).Ne strukturen ‘for’ programi do te marri formen e meposhtme. for(i=0;i<n;i++){
  • 2. ADEM VELIKA s=s+a/(a+2); a=a+2; } 2.Te shkruhet nje funksion per njesimin e shumes dhe prodhimit te elementeve te tabeles T[n] me numra te plote. Sic shihet nga kerkesa funksioni duhet te ktheje shumen dhe prodhimin e elementeve te tabeles ,pra ai duhet te jete i tipit void.Me poshte jepen funksioni. void funksion(int t[],int n,int &s,int &p) { s=0; p=1; for(int i=0; i<n; i++) { s=s+t[i]; p=p*t[i]; } } Ne funksionet void thirrja behet sipas references (adreses) .Me ndihmen e strukures ‘for ‘behet e mundur mbledhja dhe njekohesisht me te edhe shumezimi.Me poshte jepet dhe programi plote. #include <stdio.h> #include<stdlib.h> #include <conio.h> const int n=4; void funksion(int t[],int n,int &s,int &p) { s=0; p=1; for(int i=0; i<n; i++) { s=s+t[i]; p=p*t[i]; } } int main() { int s,p; int t[n]= {1,2,3,4}; funksion(t,n,s,p); printf("shuma eshte %dnprodhimi eshte %d",s,p); getch(); return 0;
  • 3. ADEM VELIKA } 3.Te shkruhet nje program rekursiv per njesimin ,ku A>0. Funksioni rekursiv duhet te kete nje kusht ndalimi dhe ne rastin tone ai do te jete: if(n==0) return 1; Variabli a do te shumezohet n-here me veten nepermjet instruksionit a*funksion(a,n-1); derisa n te jete 0 dhe te kthej numrin 1 i cili duke u shumezuar me vleren e llogaritur nuk ia ndryshon vleren.Kushti i ndaljes mund te behet edhe ne kete menyre: if(n==1) return a; duke bere keshtu nje veprim me pak. Me poshte po japim programin e plote #include <stdio.h> #include <stdlib.h> #include <conio.h> int funksion(int a,int n) { if(n==0) return 1; else return a*funksion(a,n-1); } int main() { int f,a,n; printf("Jep numurin a dhe n(a^n)n"); scanf("%d%d",&a,&n); f=funksion(a,n); printf("%d%s%d%s%d",a,"^",n,"=",f); getch(); return 0; } 4.Te shkruhet ne program qe largon nga skedari tekst nr.txt te gjithe numurat negative. Dihet qe nga skedari tekst nuk mund te fshihen te dhenat ,por vetem mund te mbishkruhet mbi to duke fshire te dhenat ekzistuese.Per te realizuar kekesen e dhene do te hapim nje
  • 4. ADEM VELIKA skedar te ri text nrnew.txt ku te hedhim vetem numurat qe jane me te medhenj se 0 (keshtu nuk kalojme ne skedarin e ri numurat negative). #include <stdio.h> #include <stdlib.h> int main() { FILE *f,*f1;int numur; f=fopen("nr.txt","rt"); f1=fopen("nrnew.txt","wt"); while(!feof(f)){ fscanf(f,"%d",&numur); if(numur>0) fprintf(f1,"%dn",numur); } fclose(f); fclose(f1); return 0; } 5.Te shkruhet nje funksion qe largon nga lista lineare l,elementin e fundit te saj. Po japim fillimisht programin. #include <stdio.h> #include <stdlib.h> #include <conio.h> typedef struct element { int vlere; struct element *next; } lista; lista *krijo(lista *l,int n) { int i,nr; for(i=0; i<n; i++) { scanf("%d",&nr); lista *tmp; tmp=new element; tmp->vlere=nr;
  • 5. ADEM VELIKA tmp->next=l; l=tmp; } return l; } lista *hiqelfund(lista *l) { lista *tmp,*sh; sh=l; if(l->next==NULL) //nese kemi vetem nje element { tmp=l; l=l->next; delete(tmp); } else //2 ose me shume elemente { while(l->next->next!=NULL) l=l->next; tmp=l->next; l->next=tmp->next; delete(tmp); l=sh; } return l; } void afisho(lista *l) { while(l!=NULL) { printf("%d-->",l->vlere); l=l->next; } } int main() { int n; lista *l; l=NULL; printf("me sa elemete doni qe ta krijoni listen? :n"); scanf("%d",&n);
  • 6. ADEM VELIKA printf("jepni elementet:n"); l=krijo(l,n); printf("lista origjinale eshte:n"); afisho(l); //tani behet afishimi kur eshte hequr elemeti i fundit l=hiqelfund(l); printf("nlista pa elementin e fundit eshten"); afisho(l); getch(); return 0; } Funksioni jone eshte me shkronja te pjerreta dhe bold,ne kodin e mesiperm ai eshte aktivizuar ne programin e plote. Fig.1 Me siper jepet skema e nje liste lineare.Ne funksion kemi instruksionin while(l->next- >next!=NULL) e cila bene te mundur qe shenjuesi te ndaloje ne elementin e parafundit ne menyre qe te hiqet elementi i fundit(fig.1) .Me ane te instruksionit tmp=l->next ne bejme te mundur qe shenjuesi tmp te lidhet me elementin e fundit dhe me pas instruksioni l->next=tmp->next; lidh elementin e parafundit me NULL.Shenjuesi sh barazohet fillimisht me l dhe shenjojne qe te dy te fillim te listes .Ne fund me ane te barazimit l=sh; l shenjon perseri ne fillim te listes.Rasti if(l->next==NULL) vlen per rastin kur ne liste eshte vetem nje element. 6.Te shkruhet nje funksion qe numeron gjethet e nenpemes se majte te pemes binare p. NULL Ketu behet ndalimi i shenuesit Tmp
  • 7. ADEM VELIKA Me poshte jepet funksioni. int nrGjethesh(peme *p) { if(p->djathte==NULL&&p->majte==NULL) return 1; else return nrGjethesh(p->djathte)+nrGjethesh(p->majte); Ndersa struktura qe perdoret eshte si me poshte : typedef struct kulm { int vlere; struct kulm *majte; struct kulm *djathte; } peme; Duhet bere kujdes ne main per aktivizimin e ketij funksioni .Kerkesa kerkon gjethet e nenpemes se majte,ndersa funksioni numeron gjethet e nje peme binare.Duke qene se nenpema e majte eshte gjithashtu nje peme ,ne main ai do te aktivizohet si: variabel=nrGjethesh(p->majte); *Shenim:Fjala variabel perdoret per nje variabel te cfaredoshem i zgjedhur nga ju: psh : int a=nenpeme(p->majte); nenpema e majte *Shenim: Keto programe jane kompiluar me Dev-C++.