Tutorijali.Net forum

Full Version: Program koji odlucuje o povezanosti tri tacke, hitno, zadaca :D
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Program is given coordinates of three points in a 2D plane. The program reads the coordinates and decides whether there is a line that connects all the three points, or not. Your task is to develop such a program in C/C++. Ako neko zna kako ovo bar zapoceti bila bih mu jako zahvalna :)
kol'ko plaćaš? ova tema je za ključ odmah :) mislim čemu to? Ako ti netko riješi ovaj zadatak samo će ti odmognuti... Neke osnove ipak moaš naučiti i znati. Ovakav program ako se uloviš posla i uzmeš knjigu, a donekle znaš matematiku napraviš kroz jedan dan (s time da ćeš na čitanje knjige potrošiti 99% vremena, da dođeš do tog dijela.)
Pa ovako, imam to za sutra, a stvarno nemam ideje, pa bi voljela da mi neko pomogne, normalno da hocu da krenem uciti, to se podrazumjeva, ali i ti savjeti su dobrodosli, odakle je najbolje krenuti, itd
Da kao sto je kolega kecko rekao ako ti netko i napise kod za ovaj program zapravo ti je odnemogao, meni osobno izgleda kao zadatak koji profesori daju u OOP-u, nebitno ja osobno bi stao iza matematike povezane sa ovim zadatkom pa onda razmišljao o samom pisanju programa dakle kada su tri točke kolinearne (kada leže na istom pravcu(ocito), udaljenost od točaka A do B + udaljenost od B do C jednaka udaljenosti od A do C i površina trokuta koji zatvaraju je jednaka 0), sto se tiče pisanja samog programa ja bih napravio strukturu koja ce označavati točku (kordinate samih točaka u 2D) i odatle bih počeo. Evo nadam se da ce ti pomoći zadatak vam nitko neće rijesiti barem ne na ovom forumu jer po meni osobno nije način da se nauči programirati.
Evo da nacrtamo ovo sto je kolega upravo rekao Happy

[Image: slikao.png]

Uputa za program:

glavni dio()
{
Sa tastature se unose koordinate tačaka;
Izacunas udaljesto izmedju tački A - B, B - C, i A - C (formulu sam ti nacrt'o :) );
Provjeriš uslov kolinearnosti i ispises određenu poruku;

return 0;
}
Code:
#include <cstdlib>
#include <stdio.h>

int main()
{
int x1, x2, x3, y1, y2, y3;

printf("Enter point A coordinates:\n");

if(scanf("%d %d", &x1, &y1) !=2){
    printf("Invalid input.\n");
    return 0;}
printf("Enter point B coordinates:\n");

if(scanf("%d %d", &x2, &y2) !=2){
    printf("Invalid input.\n");
    return 0;}
printf("Enter point C coordinates:\n");

if(scanf("%d %d", &x3, &y3) !=2){
    printf("Invalid input.\n");
    return 0;}

if (  x1*y2+y1*x3+x2*y3 == y2*x3+y1*x2+y3*x1 ) {
    printf("There exists a line connecting all three points.\n");
    if ((x1 == x2 && y1 == y2) || (x1 == x3 && y1 == y3) || (x2 == x3 && y2 == y3))
        printf("No point is in the middle - some points are identical.\n");
    else if ((x1<x2 && x2<x3) || (x1>x2 && x2>x3) || (y1>y2 && y2>y3) || (y1<y2 && y2<y3)){
        printf("Point B is in the middle.\n");}
    else if ((x1<x3 && x3<x2) || (x1>x3 && x3>x2) || (y1>y3 && y3>y2) || (y1<y3 && y3<y2)){
        printf("Point C is in the middle.\n");}
    else if ((x2<x1 && x1<x3) || (x2>x1 && x1>x3) || (y2>y1 && y1>y3) || (y2<y1 && y1<y3)){
        printf("Point A is in the middle.\n");}
}
else{
    printf("No line connects all points.\n");}

}
Eto napisanog programa(nisam sama ovo uspjela naravno, uz veliku pomoc ), ima li ko kakvih savjeta samo kako bih mogla malo ovo pojednostaviti ?)
Mozda uz upotrebu struktura ili dvostrukih polja umjesto tih varijabli jer ovako to radi za tri točke ali sto ako se zahtjeva puno više, sto se tiče samog koda nebih se zamarao ako radi sta bi trabao raditi to je ok, a i mislim sto se tiče samih provjera sumljam da mozes puno ostvariti.
Ma sjebano je malo to sto je ovo od mog kolege kod ,tako da ga ja MORAM nekako izmijeniti, samo nemam ideje kako :S
Ne shvacam sta predstavlja ovaj dio : x1*y2+y1*x3+x2*y3 == y2*x3+y1*x2+y3*x1 , tj ja sam ga sad napisala tako da prebacim sve na jednu stranu pa izjednacim sa nulom, ali nije mi matematicki jasno znacenje tog dijela koda
Pages: 1 2
Reference URL's