Results 1 to 7 of 7

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date: Nov:2010
    Location: LULIN
    Posts: 13

    Äîìàøíî ïî Ñ++

    Çäðàâåéòå,
    èìàì ïðîáëåì ñúñ çàâúðøâàíåòî íà 1-âîòî ìè äîìàøíî ïî Ñ++.
    Çàäà÷àòà ìè å: Äà ñå ïðîâåðè äàëè îòñå÷êà ïðåñè÷à îêðúæíîñò â åäíà, äâå èëè íèêîëêî òî÷êè.
    Òîâà å êîäà íà ïðîãðàìàòà:
    Code:
    #include <iostream>
    #include <cmath>
    #include "ccc_win.h"
    using namespace std;
    int ccc_win_main()
    {
        
        cwin.clear();
        cwin << Message(Point(-10,9),"Georgi Hristov, Faculty number: 54570");
        cwin << Message(Point(-10,8),"Homework number: ");
        cwin << Message(Point(-6,8), 54570%25);
        double x3=cwin.get_double("Enter the X coordinate of the Circle middle: ");
        double y3=cwin.get_double("Enter the Y coordinate of the Circle middle: ");
        double r =cwin.get_double("Enter the radius of the circle: ");
        Circle c1(Point(x3, y3),r);
            double x1=cwin.get_double("Enter the X coordinate for the first dot: ");
            double y1=cwin.get_double("Enter the Y coordinate for the first dot: ");
        double x2=cwin.get_double("Enter the X coordinate for the second dot: ");
        double y2=cwin.get_double("Enter the Y coordinate for the second dot: ");
        Line l(Point(x2,y2),Point(x1,y1));
        cwin << c1 << l;
        double i,a,b,c;
        
        a =  pow((x2 - x1),2) + pow((y2 - y1),2);
     b =  2* ((x2 - x1)*(x1 - x3) + (y2 - y1)*(y1 - y3)) ;
     c =  pow(x3,2) + pow(y3,2) + pow(x1,2) + pow(y1,2) - 2* ( x3*x1 + y3*y1 ) - pow(r,2) ;
     i =   b * b - 4 * a * c ;
     
       cwin << Message(Point(-10,-3),i);
        
         if ( i < 0.0 )
     {
      
         cwin << Message(Point(-10,-5),"No intersection!");
         return (1);
     }
    
     if ( i == 0.0  )
     {
     
      cwin << Message(Point(-10,-5),"One intersection!");
         return (1);
     }
     if ( i> 0.0)
     {
     
    cwin << Message(Point(-10,-5),"Two intersections!");
         return (1);
    
    }
       return 0;
    }
    Êàæåòå êúäå áúðêàì, çàùîòî íå ïîêàçâà âÿðíî...
    Ôîðìóëàòà å âçåòà îò òóê: http://local.wasp.uwa.edu.au/~pbourk...ry/sphereline/

    Áëàãîäàðÿ ïðåäâàðèòåëíî.

  2. #2
    1+1=11 svr's Avatar
    Join Date: Sep:2006
    Location: Inferno, Act 1
    Posts: 790
    Ìíîãî å êúñíî äà ïðîâåðÿâàì îáñòîéíî êîäà, íî ìè ñå ÷èíè, ÷å ïðîáëåìà å îò ñëåäíèÿ ðåä:

    Code:
    if ( i == 0.0  )
    Ðàáîòèø ñ double-ñòîéíîñòè è êîãàòî èìà 1 ïðåñå÷íà òî÷êà, òîãàâà i ùå å íÿêúäå ìíîãî áëèçî äî íóëàòà, íî íå è òî÷íî 0.0. Çàòîâà òðÿáâà äà âúâåäåø íÿêàêúâ òîëåðàíñ - ïëþñ-ìèíóñ íÿêàêâà äîñòàòú÷íî ìàëêà ðàçëèêà.


    Code:
    double EPSILON = 0.001d;   // íÿêàêâà äîñòàòú÷íî ìàëêà ñòîéíîñò ïî òâîÿ ïðåöåíêà
    if ( fabs(i) < EPSILON )
    MSI B450 Gaming Pro Carbon AC | Ryzen 9 5900x | HyperX Predator 3200 | Asus Strix 3090 | Kingston KC3000 2TB | WD Red 4TB | Dell G3223Q + LG 27UK650-W | Arctic Freezer 360 | Seasonic Focus GX-1000 | Lian Li O11 Dynamic

  3. #3
    Registered User
    Join Date: Nov:2010
    Location: LULIN
    Posts: 13
    Ñïîðåä ìåí ãðåøêàòà íå å òàì, çàùîòî ñëåä êàòî íàïèñàõ ïðîãðàìàòà êàêòî ìè êàçà, íÿìàøå ïîäîáðåíèå. Íà ìåíå ïðîáëåìà ìè å ÷å íåìîãà äà íàïèøà ïðîãðàìàòà òàêà, ÷å êàòî îòñå÷êàòà ïðåñè÷à â 1 òî÷êà êðúã÷åòî äà èçïèøå ïðåñè÷à ãî â 1 òî÷êà. Ìèñëÿ ÷å òðÿáâà äà ñå ñëîæè íÿêàêâà ôîðìóëà. â òîçè ñàéò èìà íÿêàêâè ôîðìóëè, íî íåùî íåìîãà äà ðàçáåðà êîÿ è êàê äà ÿ ïðèëîæà â ïðîãðàìàòà.


    http://www.algorithmic-solutions.inf...al/circle.html

  4. #4
    philosophus duratea icaci's Avatar
    Join Date: Oct:2006
    Location: Aachen
    Posts: 2,698
    Íåäîïðî÷åë ñè íàïèñàíîòî íà ñòðàíèöàòà, îò êîÿòî ñè âçåë ôîðìóëèòå, ðàçïèñàíè â ïðîãðàìàòà. Îãðàíè÷èë ñè ñå ñàìî ñ òåñò çà çíàêà íà äèñêðèìèíàíòàòà íà êâàäðàòíîòî óðàâíåíèå, ïîðàäè êîåòî âñúùíîñò ïðîâåðÿâàø çà ïðåñè÷àíåòî íà îêðúæíîñòòà ñ ïðàâà, ìèíàâàùà ïðåç äâåòå òî÷êè. Òå ìîãàò äà èìàò åäíà ïðåñå÷íà òî÷êà òîãàâà è ñàìî òîãàâà, êîãàòî ïðàâàòà å äîïèðàòåëíà êúì îêðúæíîñòòà.

    Òðÿáâà äà ðåøèø äîêðàé êâàäðàòíîòî óðàâíåíèå è äà íàìåðèø êîëêî îò ðåøåíèÿòà ìó îòãîâàðÿò íà òî÷êè â ðàìêèòå íà îòñå÷êàòà, ò.å. ñà â èíòåðâàëà [0, 1], âêëþ÷èòåëíî â ñëó÷àÿ íà äâóêðàòåí êîðåí. Êîëêîòî ðåøåíèÿ ïîïàäàò â òîçè èíòåðâàë, òîëêîâà ïðåñè÷àíèÿ èìàø.  òîâà ÷èñëî, àêî èìàø äâå ðåøåíèÿ (i > 0.0), íî è äâåòå ñà èçâúí [0, 1], òî îòñå÷êàòà å èëè èçöÿëî âúòðå â îêðúæíîñòòà, èëè èçöÿëî âúí îò íåÿ è íå ñå ïðåñè÷àò íèêúäå, à ñïîðåä ñåãàøíèÿ òè àëãîðèòúì èìàø äâå ïðåñå÷íè òî÷êè. Åäíî ïðåñè÷àíå èìàø, êîãàòî ñàìî åäèí îò êîðåíèòå å â èíòåðâàëà [0, 1], âêëþ÷èòåëíî è êîãàòî òîçè êîðåí å äâóêðàòåí (i == 0.0).
    Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others

  5. #5
    Registered User
    Join Date: Nov:2010
    Location: LULIN
    Posts: 13
    Quote Originally Posted by icaci View Post
    Íåäîïðî÷åë ñè íàïèñàíîòî íà ñòðàíèöàòà, îò êîÿòî ñè âçåë ôîðìóëèòå, ðàçïèñàíè â ïðîãðàìàòà. Îãðàíè÷èë ñè ñå ñàìî ñ òåñò çà çíàêà íà äèñêðèìèíàíòàòà íà êâàäðàòíîòî óðàâíåíèå, ïîðàäè êîåòî âñúùíîñò ïðîâåðÿâàø çà ïðåñè÷àíåòî íà îêðúæíîñòòà ñ ïðàâà, ìèíàâàùà ïðåç äâåòå òî÷êè. Òå ìîãàò äà èìàò åäíà ïðåñå÷íà òî÷êà òîãàâà è ñàìî òîãàâà, êîãàòî ïðàâàòà å äîïèðàòåëíà êúì îêðúæíîñòòà.

    Òðÿáâà äà ðåøèø äîêðàé êâàäðàòíîòî óðàâíåíèå è äà íàìåðèø êîëêî îò ðåøåíèÿòà ìó îòãîâàðÿò íà òî÷êè â ðàìêèòå íà îòñå÷êàòà, ò.å. ñà â èíòåðâàëà [0, 1], âêëþ÷èòåëíî â ñëó÷àÿ íà äâóêðàòåí êîðåí. Êîëêîòî ðåøåíèÿ ïîïàäàò â òîçè èíòåðâàë, òîëêîâà ïðåñè÷àíèÿ èìàø.  òîâà ÷èñëî, àêî èìàø äâå ðåøåíèÿ (i > 0.0), íî è äâåòå ñà èçâúí [0, 1], òî îòñå÷êàòà å èëè èçöÿëî âúòðå â îêðúæíîñòòà, èëè èçöÿëî âúí îò íåÿ è íå ñå ïðåñè÷àò íèêúäå, à ñïîðåä ñåãàøíèÿ òè àëãîðèòúì èìàø äâå ïðåñå÷íè òî÷êè. Åäíî ïðåñè÷àíå èìàø, êîãàòî ñàìî åäèí îò êîðåíèòå å â èíòåðâàëà [0, 1], âêëþ÷èòåëíî è êîãàòî òîçè êîðåí å äâóêðàòåí (i == 0.0).
    Áè ëè ìè êàçàë êàê òî÷íî òðÿáâà äà ñå íàïèøå êîäà çàùîòî ïðè ìåíå íåùî íå ñå ïîëó÷àâà

  6. #6
    philosophus duratea icaci's Avatar
    Join Date: Oct:2006
    Location: Aachen
    Posts: 2,698
    Quote Originally Posted by qwertyo View Post
    Áè ëè ìè êàçàë êàê òî÷íî òðÿáâà äà ñå íàïèøå êîäà çàùîòî ïðè ìåíå íåùî íå ñå ïîëó÷àâà
    Ïðè ïîëîæåíèå, ÷å íà ñàéòà, îñâåí ôîðìóëèòå èìà è ïðîãðàìà íà C, êîÿòî íàìèðà äâàòà êîðåíà, êàêòî è ÷å îáîçíà÷åíèÿòà íà ïðîìåíëèâèòå â íåÿ ïðîãðàìà ïîäîçðèòåëíî ñúâïàäàò ñ òåçè â òâîÿòà, íå áè òðÿáâàëî äà çàäàâàø òî÷íî òîçè âúïðîñ.
    Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others

  7. #7
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Çàùî íå ñå ïîëó÷àâà?
    Äàé äà âèäèì êàêâî íàïèñà.
    Äîáðå ïî÷íà òåìàòà, íî ïî÷âàø äà ÷àêàø íà ãîòîâî - íÿìà äà ñòàíå. Êîëåãèòå òè äàäîõà ïðåäîñòàòú÷íî íàñîêè.
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè