Površina kruga¶
Autor zadatka: Andrea Sabo Cibolja <andrea_saboc@uns.ac.rs>
Unosom sa tastature zadat je niz M
od maksimalno 25
realnih elemenata.
Učitati n elemenata u niz M
, koji predstavlja poluprečnike kružnica (voditi računa da su poluprečnici pozitivni brojevi).
Formirati niz
K
čiji elementi predstavljaju površine krugova sa prečnicima iz nizaM
Ispisati površinu najvećeg kruga i indeks na kom se ta površina kruga nalazi u nizu
K
. U slučaju da se krug nalazi na parnom indeksu ispisati površinu zaokruženu na dve decimale, a u slučaju da se nalazi na neparnom indeksu ispisati površinu zaokruženu na tri decimale.Preko konzole korisnik unosi realan pozitivan broj
a
. Prebrojati sve poluprečnike iz nizaM
koji su veći od brojaa
, a zatim ispisati broj takvih poluprečnika.
Na izlazu je neophodno ispisati nizove M
i K
. Ispis članova niza zaokružiti na 2 decimale.
Formula za računanje površine kruga: \(P = r^{2}\cdot\pi\) (\(\pi\) posmatrati kao 3,14)
Primer rada programa:
Unesite broj elemenata niza M (broj elemenata ne sme da prelazi 25): 5
Unesite elemente niza M:
M[0]=2.1
M[1]=5.6
M[2]=5.8
M[3]=5.3
M[4]=9.0
Povrsina najveceg kruga iznosi 254.34, nalazi se na 4 indeksu.
Unesite realan pozitivan broj a:5.7
Broj vecih poluprecnika od 5.7 je 2.
M=[2.10, 5.60, 5.80, 5.30, 9.00]
K=[13.85, 98.47, 105.63, 88.20, 254.34]
Primer rešenja¶
1#include <stdio.h>
2#include <math.h>
3#define MAX_SIZE 25
4
5int main(){
6
7 double M[MAX_SIZE], K[MAX_SIZE];
8 double maxPovrsina, a;
9 int n, i, maxIndex, brojVecih=0;
10
11 do{
12 printf("Unesite broj elemenata niza M (broj elemenata ne sme da prelazi 25): ");
13 scanf("%d", &n);
14 }while(n<0 || n>MAX_SIZE);
15
16 printf("\nUnesite elemente niza M:\n");
17 for(i=0; i<n; i++){
18 do{
19 printf("M[%d]=",i);
20 scanf("%lf", &M[i]);
21 }while(M[i]<0);
22 }
23
24 for(i=0; i<n; i++){
25 K[i]=pow(M[i], 2) * 3.14;
26 }
27
28 maxPovrsina = K[0];
29 maxIndex = 0;
30
31 for(i=1; i<n; i++){
32 if(K[i]>maxPovrsina){
33 maxPovrsina=K[i];
34 maxIndex=i;
35 }
36 }
37
38 if(maxIndex%2==0){
39 printf("Povrsina najveceg kruga iznosi %.2lf, nalazi se na %d indeksu.\n", maxPovrsina, maxIndex);}
40 else{
41 printf("Povrsina najveceg kruga iznosi %.3lf, nalazi se na %d indeksu.\n", maxPovrsina, maxIndex);
42 }
43
44 do{
45 printf("Unesite realan pozitivan broj a:");
46 scanf("%lf", &a);
47 }while(a<0);
48
49 for(i=0; i<n; i++){
50 if(M[i]>a) brojVecih++;
51 }
52
53 printf("\nBroj vecih poluprecnika od %.1lf je %d.\n", a, brojVecih);
54
55 printf("\nM=[");
56 for(i=0; i<n; i++){
57 if(i>0){
58 printf(", ");
59 }
60 printf("%.2lf", M[i]);
61 }
62 printf("]\n");
63
64 printf("K=[");
65 for(i=0; i<n; i++){
66 if(i>0){
67 printf(", ");
68 }
69 printf("%.2lf", K[i]);
70 }
71 printf("]\n");
72
73 return 0;
74}