Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Napišite C program koji omogućuje unos dva broja n i m. Omogućiti unos n točaka i
- m trokuta. Pronaći i ispisati trokut koji ima najveći opseg. Opseg najvećeg trokuta
- ispisati u formatu (“%.2f\n“). Pretpostaviti da n i m neće biti veći od 10, ali nije
- potrebno u kodu testirati njihove veličine. */
- #include<stdio.h>
- #include<math.h>
- struct tocka{
- float x;
- float y;
- float z;
- };
- struct trokut{
- struct tocka *t1;
- struct tocka *t2;
- struct tocka *t3;
- };
- float len3d(float x1, float y1, float z1, float x2, float y2, float z2);
- int main()
- {
- int n,m,i;
- int ind1,ind2,ind3;
- float l1,l2,l3;
- float trenutniOpseg,maxOpseg=0;
- printf("Broj tocaka: ");
- scanf("%d",&n);
- printf("Broj trokuta: ");
- scanf("%d",&m);
- struct tocka tocke[n];
- struct trokut trokuti[m];
- printf("Upisi tocke: \n");
- for(i=0;i<n;i++)
- {
- printf("T%d \n",i+1);
- printf("x: ");
- scanf("%f",&tocke[i].x);
- printf("y: ");
- scanf("%f",&tocke[i].y);
- printf("z: ");
- scanf("%f",&tocke[i].z);
- }
- printf("Upisite indekse tocaka koje cine trokut: \n");
- for(i=0;i<m;i++)
- {
- scanf("%d%d%d",&ind1,&ind2,&ind3);
- trokuti[i].t1=&tocke[ind1];
- trokuti[i].t2=&tocke[ind2];
- trokuti[i].t3=&tocke[ind3];
- }
- for(i=0;i<m;i++)
- {
- trenutniOpseg=0;
- l1 = len3d(trokuti[i].t1->x, trokuti[i].t1->y, trokuti[i].t1->z, trokuti[i].t2->x, trokuti[i].t2->y, trokuti[i].t2->z);
- l2 = len3d(trokuti[i].t2->x, trokuti[i].t2->y, trokuti[i].t2->z, trokuti[i].t3->x, trokuti[i].t3->y, trokuti[i].t3->z);
- l3 = len3d(trokuti[i].t3->x, trokuti[i].t3->y, trokuti[i].t3->z, trokuti[i].t1->x, trokuti[i].t1->y, trokuti[i].t1->z);
- trenutniOpseg=l1+l2+l3;
- if(trenutniOpseg>maxOpseg) maxOpseg=trenutniOpseg;
- }
- printf(".*REZULTATI:\n%.2f.*\n", maxOpseg);
- return 0;
- }
- float len3d(float x1, float y1, float z1, float x2, float y2, float z2)
- {
- return sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2) + pow(z2 - z1, 2));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement