C++ da funksiya va toifasida strukturaviy ma’lumotlarini soha bo’yicha ishlatgan holda dastur tuzish


Download 303.58 Kb.
bet6/7
Sana13.02.2023
Hajmi303.58 Kb.
#1192814
1   2   3   4   5   6   7
Bog'liq
C da funksiya va protseduralar-fayllar.org

x в{аxi }



Нуқталар тўпламини диаметри. Фараз қилайлик
Евклид формула нуқталар орасидаги масофа
қуйидаги формула билан аниқланади.
Фазо ўлчамига чегаралаш киритамиз:
N_MAX<=10 ва нуқталар
i
y {y }, i 1, n
n
i i

сони К_МАХ<=100. Дастур матiн1и қуйидагича

#include

#include

float distance(float х[ ], float у[ ], int n)

{int i;

float r,s=0.0;

for(i=0;i

{

r=y[i]-x[i] ; s+=r*r;

}



2
d (x, y) (x y )
s=sqrt(s); return s;
}
#define K_MAX 100 #define N_MAX 10 void main( ) {
float dist, dist_max,d;
int i, j, i_max, m_max, n, k, m; float a[K_MAX][N_MAX]; while(1) {
printf("\n Nuqtalar soni k=") ; scanf("%d", &k);
printf(“Fazo o’lchami n="); scanf("%d", &n);
if(k>0 && k<=K_MAX && n>0 && n<=N_MAX) break; printf(“MA’LUMOTLAR NOTO’GRI!");
}
for(i=0;i
printf(“Nuqtani %d koordinatasini kiriting %d:\n",
n, i+l);
for(j=0;j
scanf("%f",&a[i][j]);
}
di s t_max=0.0; i_max=0; m_max=0; for(i=0;i
{
for(m=i+l;mdist_max) { dist_max=dist; i_max=i; m_max=m;
}
}
printf (“Natija: \nJ4naMeTp=%f" ,dist_max) ; printf("\n Nuqta raqami : %d,%d", i_max+l,m_max+l);
}
Дастурни бажарилиш натижалари Нуқталар сони к=4
Фазо ўлчами п=3
Натижа: Диаметр = 6.928203 Нуқталар тартиб рақами: 3, 4
Келтирилган дастурда distance( ) функциясига мурожаат
айниқса қизиқиш уйғотади, чунки унинг фактик
параметрлари сифатида индексли элементлар a[i], а[т]
ишлатилган. Уларнинг ҳар бири ўз навбатида 4 та элементдан ташкил топган бир ўлчовли массив бўлиб,
улар функция
танасида ҳисобга олинган. а[ ][ ]
массивларни
ўлчамлари
ва уларни
чегаравий
қийматлари k ва n ни бериш учун К_МАХ ва N_MAX
процессор константалари ишлатилган. Уларни ўзгарувчи
сифатида ишлатиббўлмайди, яъни қуйидаги кетма-
кетлик нотўғри:
int К_МАХ=100; N_MAX=10;
float а[К MAX][N_MAX];
Массивларни аниқлашда уларнинг ўлчовларини фақат
контекстли ифода ѐрдамида бериш мумкин.
Ўтиш йўллари (переключатель) – switch

Download 303.58 Kb.

Do'stlaringiz bilan baham:

1   2   3   4   5   6   7




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