Deklarimi
#include <stdio.h>
#include <conio.h>
typedef struct person{
int vlera;
int mosha;
};
struct person2{
int vlera;
int mosha;
};
int main(){
person p1;
p1.vlera=10;
printf("%d\n",p1.vlera);
struct person p2;
p2.vlera=20;
printf("%d",p2.vlera);
getch();
return 0;
}
Ushtrimi 1
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct person {
char emri[20];
char * mbiemri;
int mosha;
char gjinia;
int notat[3];
};
float gjejMesatare(struct person p){
int s=0;
for(int i=0;i<3;i++)
s=s+p.notat[i];
return (float)s/3;
}
int main(){
struct person p[2];
int a;
printf("Jep vlerat\n");
for(int i=0;i<2;i++){
printf("Emri %d: ",i+1);
scanf("%s",p[i].emri);
printf("Mbiemri: ");
p[i].mbiemri=(char *)malloc(sizeof(char *));
scanf("%s",p[i].mbiemri);
printf("Mosha: ");
scanf("%d",&p[i].mosha);
printf("Gjinia: ");
scanf("%c",&p[i].gjinia);
scanf("%c",&p[i].gjinia);
printf("Vendosni notat\n");
for(int j=0;j<3;j++){
printf("Nota %d: ",j+1);
scanf("%d",&p[i].notat[j]);
}
}
struct person tmp;
for(int i=0;i<2;i++)
for(int j=i+1;j<2;j++)
if(strcmp(p[i].emri,p[j].emri)>0)//krahaso p[i] me p[j]
{
tmp=p[i];
p[i]=p[j];
p[j]=tmp;
}
for(int i=0;i<2;i++){
printf("%s %s eshte %d vjec\n",p[i].emri,p[i].mbiemri,p[i].mosha);
printf("Notat: ");
for(int j=0;j<3;j++)
printf("%d ",p[i].notat[j]);
printf("\n");
}
printf("Renditur sipas mesatares\n");
for(int i=0;i<3;i++)
for(int j=i+1;j<2;j++)
{
/*
me poshte gjejme mesataret e i dhe j
Kjo nuk eshte eficente nga ana algoritmike, pasi
me mire do ishte ti ruanim mesataret ne nje vektor te
vecante te llogaritur me pare
*/
float mi=gjejMesatare(p[i]);
float mj=gjejMesatare(p[j]);
if(mi<mj)//krahaso p[i] me p[j]
{
tmp=p[i];
p[i]=p[j];
p[j]=tmp;
}
}
for(int i=0;i<2;i++){
printf("%s %s eshte %d vjec\n",p[i].emri,p[i].mbiemri,p[i].mosha);
printf("Notat: ");
for(int j=0;j<3;j++)
printf("%d ",p[i].notat[j]);
printf("\n");
}
getch();
return 0;
}
Ushtrimi 2
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct person{
char * emri;
char mbiemri[20];
char gjinia;
int mosha;
};
struct nxenes{
struct person personi;
int notat[2];
};
struct lenda{
char * emri;
int kredite;
};
int main(){
int n=3;
struct nxenes nx[n];
struct lenda lendet[2];
//leximi i te dhenave
printf("Vendosni lendet dhe kreditet e tyre\n");
for(int i=0;i<2;i++){
lendet[i].emri=(char *)malloc(sizeof(char *));
printf("lenda %d: ",i+1);
scanf("%s",lendet[i].emri);
printf("kredite: ");
scanf("%d",&lendet[i].kredite);
}
printf("\n\n\n\n");
printf("Vendosni te dhenat e studenteve\n");
for(int i=0;i<n;i++){
printf("Nxenesi %d\n ",i+1);
printf("Emri: ");
nx[i].personi.emri=(char *)malloc(sizeof(char *));
scanf("%s",nx[i].personi.emri);
printf("Mbiemri: ");
scanf("%s",nx[i].personi.mbiemri);
scanf("%c",&nx[i].personi.gjinia);
printf("Gjinia: ");
scanf("%c",&nx[i].personi.gjinia);
printf("Mosha: ");
scanf("%d",&nx[i].personi.mosha);
printf("Vendosni notat\n");
for(int j=0;j<2;j++){
printf("%s: ",lendet[j].emri);
scanf("%d",&nx[i].notat[j]);
}
}
float max=0;
int poz=-1;
//shuma e krediteve
int shuma_kredite=0;
for(int j=0;j<2;j++)
shuma_kredite+=lendet[j].kredite;
float mesatare[n];
for(int i=0;i<n;i++){
int s=0;
for(int j=0;j<2;j++)
s+=nx[i].notat[j]*lendet[j].kredite;
float mes=(float)s/shuma_kredite;
printf("%s %s ka mesatare %f\n",nx[i].personi.emri,nx[i].personi.mbiemri,mes);
mesatare[i]=mes;
if(mes>max){
max=mes;
poz=i;
}
}
printf("Studenti me i mire eshte %s %s me mesatare %f",nx[poz].personi.emri,nx[poz].personi.mbiemri,max);
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(mesatare[i]<mesatare[j]){
float tmp=mesatare[i];
mesatare[i]=mesatare[j];
mesatare[j]=tmp;
struct nxenes nx_temp=nx[i];
nx[i]=nx[j];
nx[j]=nx_temp;
}
printf("Nxenesit e renditur sipas mesatares\n");
for(int i=0;i<n;i++){
printf("%s %s: %f\n",nx[i].personi.emri,nx[i].personi.mbiemri,mesatare[i]);
}
getch();
return 0;
}
Ushtrimi 3
#include <stdio.h>
#include <conio.h>
struct cilinder {
int x;
int y;
int rreze;
int lartesi;
};
struct pika{
int x;
int y;
};
struct rreth{
struct pika qendra;
int rreze;
};
struct cilindri{
struct rreth baza;
int lartesia;
};
struct koni{
struct rreth baza;
int lartesia;
};
int main(){
struct cilinder c[3];
for(int i=0;i<3;i++){
printf("Cilinder i %d\n",i+1);
printf("Koordinata X: ");
scanf("%d",&c[i].x);
printf("Koordinata Y: ");
scanf("%d",&c[i].y);
printf("Rrezja: ");
scanf("%d",&c[i].rreze);
printf("Lartesia: ");
scanf("%d",&c[i].lartesi);
}
struct cilindri cn[3];
for(int i=0;i<3;i++){
printf("Cilinder i %d\n",i+1);
printf("Koordinata X: ");
scanf("%d",&cn[i].baza.qendra.x);
printf("Koordinata Y: ");
scanf("%d",&cn[i].baza.qendra.y);
printf("Rrezja: ");
scanf("%d",&cn[i].baza.rreze);
printf("Lartesia: ");
scanf("%d",&cn[i].lartesia);
}
getch();
return 0;
}