
Untitled
By: a guest on
Dec 23rd, 2012 | syntax:
None | size: 2.23 KB | hits: 25 | expires: Never
#include <stdio.h>
struct Tacka {
int x,y;
};
struct Trougao {
struct Tacka A,B,C;
};
/*Korištena ideja iz knjige linearne algebre i geometrije BC''=AB''+AC''*/
int IzbaciPravougle (struct Trougao niz[], int vel){
int i, j;
for(i=0; i<vel; i++){
if (
((niz[i].B.x*niz[i].B.x)-niz[i].A.x && (niz[i].B.y*niz[i].B.y)-niz[i].A.y) /*AB NA KVADRAT*/
+
((niz[i].C.x*niz[i].C.x)-niz[i].A.x && (niz[i].C.y*niz[i].C.y)-niz[i].A.y) /*AC NA KVADRAT*/
==
((niz[i].C.x*niz[i].C.x)-niz[i].B.x && (niz[i].C.y*niz[i].C.y)-niz[i].B.y) /*BC NA KVADRAT*/
){
j=i;
while(j<vel-1){
niz[j]=niz[j+1];
j++;
}
vel--;
}
}
return vel;
}
int main(){
struct Trougao Niz[50];
int i, vel, vel1;
printf("Unesite velicinu niza: ");
scanf("%d", &vel);
printf("Unesite elemente niza: \n");
i=0;
while(i < vel){
printf("Unesite x koordinatu tacke A %d. trougla: ", i+1);
scanf("%d", &Niz[i].A.x);
printf("Unesite y koordinatu tacke A %d. trougla: ", i+1);
scanf("%d", &Niz[i].A.y);
printf("Unesite x koordinatu tacke B %d. trougla: ", i+1);
scanf("%d", &Niz[i].B.x);
printf("Unesite y koordinatu tacke B %d. trougla: ", i+1);
scanf("%d", &Niz[i].B.y);
printf("Unesite x koordinatu tacke C %d. trougla: ", i+1);
scanf("%d", &Niz[i].C.x);
printf("Unesite y koordinatu tacke C %d. trougla: ", i+1);
scanf("%d", &Niz[i].C.y);
i++;
}
printf("Niz bez pravouglih trouglova glasi:\n");
vel1 = IzbaciPravougle(Niz, vel);
for(i=0; i<vel1; i++){
printf("\n x koordinata tacke A %d. trougla je %d,\n ", i+1, Niz[i].A.x);
printf("y koordinata tacke A %d. trougla je %d,\n ", i+1, Niz[i].A.y);
printf("x koordinata tacke B %d. trougla je %d,\n ", i+1, Niz[i].B.x);
printf("y koordinata tacke B %d. trougla je %d,\n ", i+1, Niz[i].B.y);
printf("x koordinata tacke C %d. trougla je %d,\n ", i+1, Niz[i].C.x);
printf("y koordinata tacke C %d. trougla je %d.\n ", i+1, Niz[i].C.y);
}
return 0;
}