2-3-mavzu: Strukturalar va massivlar. Abstrakt turlarni tasvirlash


{ center.coord[I]/ = center.mass; printf("\n Koordinata %d %f", (I+1), center.coord[I])


Download 16.77 Kb.
bet2/3
Sana22.12.2022
Hajmi16.77 Kb.
#1043725
1   2   3
Bog'liq
2-3-amaliyot

{


center.coord[I]/ = center.mass;

printf("\n Koordinata %d %f", (I+1), center.coord[I]);


}

return 0;


}
Amaliy masalalarni yechishda, shu soha uchun mos bo’lgan ma’lumotlar turlarini aniqlab olish qulaydir. Dasturda bu turlar strukturali turlar sifatida tasvirlanadi. So’ngra shu tur bilan bog’liq hamma funksiyalarni ta’riflab, biblioteka hosil qilinadi. Misol tariqasida kasrlar bilan bog’liq abstrakt tur kiritamiz. Kasrlar ustida quyidagi funksiyalarni kiritamiz.
input() kasr sonni kiritish;
out() kasr sonni ekranga chiqarish;
add() kasrlarni qo’shish; sub() kasrlarni ayirish; mult() kasrlarni ko’paytirish; divide() kasrlarni bo’lish;
Quyidagi programma kiritilgan funksiyalar yordamida kasrlar bilan ishlashga misol bo’ladi

#include #include


typedef struct rational_fraction

{


int numerator; int denominator;

} fraction; fraction input()


int N; fraction dr;

printf("\n Sutat:"); scanf("%d", &dr.numerator); printf("Mahraj:");


scanf("%d", &N); if (N == 0)

{


printf("\n Hato! No'l mahraj"); exit(0);

}


dr.denominator = N; return dr;

}


void out( fraction dr)

{


printf(" Kasr ");

printf( "%d/%d \n", dr.numerator, dr.denominator);


}

fraction add ( fraction dr1, fraction dr2)


{

fraction dr;


dr.numerator = dr1.numerator * dr2.denominator+ dr1.denominator * dr2.numerator;

dr.denominator = dr1.denominator * dr2.denominator; return dr;



Download 16.77 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling