Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Kvadratna jednacina (preko funkcije)

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Kvadratna jednacina (preko funkcije)

[ Pregleda: 6072 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nikoladjile
nikola glisic
skola
paracin

Član broj: 162397
Poruke: 13
217.24.21.*



Profil

icon [Zadatak] Kvadratna jednacina (preko funkcije)14.11.2007. u 20:25 - pre 200 meseci
Imam velikih problema oko resavanja jednog zadatka.Ako moze neko da ga resi bio bih veoma zahvalan

Napraviti program koji koristi funkciju za izracunavanje kvadratne jednacine F(x)=ax^2+bx+c (a,b,c,x)
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Kvadratna jednacina (preko funkcije)15.11.2007. u 06:25 - pre 200 meseci
Na kakve si probleme naišao? Pokaži kod koji si uradio.

 
Odgovor na temu

nikoladjile
nikola glisic
skola
paracin

Član broj: 162397
Poruke: 13
217.24.21.*



Profil

icon Re: [Zadatak] Kvadratna jednacina (preko funkcije)15.11.2007. u 09:17 - pre 200 meseci
Ja umem da ga uradim ali ne umem preko funkcije
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Kvadratna jednacina (preko funkcije)15.11.2007. u 10:17 - pre 200 meseci
Prva dva pitanje koje sebi treba da postavis su:
1) šta treba da predaš funkciji kao argumente
2) šta funkcija treba da vrati

1) a, b, c
2) resenja kvadratne jednacine u najprostijem obliku analize su x1 i x2, mada tu postoje brojni detalji koji takodje mogu biti smatrani kao pozeljna povratna vrednost funkcije. Uzecemo da funkcija trebada vrati samo x1, x2 (a ti po zelji prosiruj sistem).

Pretpostavljam da ti je problem sto povratna vrednost nije prost tip podataka, vec ima 'vise' stvari koje treba upakovati u jednu povratnu vrednost. Tada tipicno pravis strukturu, koja moze da 'upakuje' vise prostih tipova:
Code:

struct rezultat_kvadratne_jednacine
{
   float x1, x2;
   // ... ovde se mogu ugraditi i druge informacije i time prosiriti sistem
};


Zatim, treba ti funkcija. Jedna od ideja je da prosledis kao argumente: a, b, c i adresu objekata (one strukture od malopre) gde ce rezultati biti smesteni:
Code:

void funkcija_za_racunanje_kvardatne_jednacine1( float a, float b, float c, rezultat_kvadratne_jednacine *x )
{
   // ovde treba tvoj kod koji resava x1, x2
   // ... i dodeljuje vrednosti strukturi:

   x->x1 = 2; // <--- ja sam ovde kao sracunao resenja 2 i 4 i dodelio ih objektu za smestanje rezultata
   x->x2 = 4;
}


U glavnoj funkciji:
Code:
 
int main()
{
    // <--- ovde napises kod za unos a, b, c

    // zatim kreiras objekat gde ce biti smesteni rezultati: 
    rezultat_kvadratne_jednacine rezultat;    
    
    // poziv funkcije
    funkcija_za_racunanje_kvardatne_jednacine1( a, b, c, &rezultat );
    
    cout << rezultat.x1 << "\n";
    cout << rezultat.x2 << "\n";
        
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
Odgovor na temu

nikoladjile
nikola glisic
skola
paracin

Član broj: 162397
Poruke: 13
217.24.21.*



Profil

icon Re: [Zadatak] Kvadratna jednacina (preko funkcije)16.11.2007. u 10:54 - pre 200 meseci
Ne mogu nikako preko funkcije da ga uradim.Ja samo znam na ovaj nacinAl bi mogao ti da mi uradis preko funkcije
Code:

#include <stdio.h>
#include <math.h>

main () {
  double a, b, c, /* Koeficijenti jednacine.                             */
         d,       /* Diskriminanta jednacine.                            */
         x1, x2,  /* Realni delovi korena.                               */
         y1, y2;  /* Imaginarni delovi korena.                           */
  typedef enum { REALNI, DVOSTRUKI, KOMPLEKSNI, LINEARNA, POGRESNA } Vrsta;
  Vrsta  vrsta;   /* Vrsta resenja jednacine.                            */

  printf ("Koeficijenti kvadratne jednacine? ");
  scanf ("%lf%lf%lf", &a, &b, &c);

  if (a) {
    d = b * b - 4 * a * c;
    if (d > 0) {
      vrsta = REALNI;
      x1 = (- b + sqrt (d)) / (2 * a);
      x2 = (- b - sqrt (d)) / (2 * a);
    } else if (d == 0) {
      vrsta = DVOSTRUKI;
      x1 = - b / (2 * a);
    } else {
      vrsta = KOMPLEKSNI;
      x1 = - b / (2 * a);            x2 = x1;
      y1 = sqrt (- d) / (2 * a);     y2 = - y1;
    }
  } else
    if (b) {
      vrsta = LINEARNA;
      x1 = - c / b;
    } else
      vrsta = POGRESNA;

  switch (vrsta) {
    case REALNI:
      printf ("Realni koreni su %.2f i %.2f\n", x1, x2);
      break;
    case DVOSTRUKI:
      printf ("Dvostruki realni koren je %.2f\n", x1);
      break;
    case KOMPLEKSNI:
      printf ("Kompleksni koreni su (%.2f,%.2f) i (%.2f,%.2f)\n",
              x1, y1, x2, y2);
      break;
    case LINEARNA:
      printf ("Resenje linearne jednacine je %.2f\n", x1);
      break;
    case POGRESNA:
      printf ("Podaci nemaju smisla!\n");
      break;
  }
}


[Ovu poruku je menjao X Files dana 16.11.2007. u 12:14 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Kvadratna jednacina (preko funkcije)16.11.2007. u 11:32 - pre 200 meseci
Izvini, ali da li vi radite C ili C++ jezik?

Onda nekako ovako /netestirano/
Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

// OVO JE STRUKTURA ZA SMESTANJE REZULTATA
struct rezultat_kvadratne_jednacine
{
   double x1, x2, y1, y2;
   enum VrstaKJ
   {
       REALNI,
       DVOSTRUKI,
       KOMPLEKSNI,
       LINEARNA,
       POGRESNA
   } vrsta; 
};

// OVO JE FUNKCIJA ZA RACUNANJE KJ I SMESTANJE REZULTATA U STRUKTURU ZA REZULTAT
void funkcija_za_racunanje_kvardatne_jednacine( double a, double b, double c, rezultat_kvadratne_jednacine *x )
{
   double d; /* Diskriminanta jednacine.                            */
   
   if ( a )
   {
      d = b * b - 4 * a * c;
      if ( d > 0 )
      {
         x->vrsta = rezultat_kvadratne_jednacine::REALNI;
         x->x1 = (- b + sqrt (d)) / (2 * a);
         x->x2 = (- b - sqrt (d)) / (2 * a);
       }
       else if ( d == 0 )
       {
          x->vrsta = rezultat_kvadratne_jednacine::DVOSTRUKI;
          x->x1 = - b / (2 * a);
       }
       else
       {
          x->vrsta = rezultat_kvadratne_jednacine::KOMPLEKSNI;
          x->x1 = - b / (2 * a);
          x->x2 = x->x1;
          x->y1 = sqrt (- d) / (2 * a);
          x->y2 = - x->y1;
       }
   } else
   
   if ( b )
   {
      x->vrsta = rezultat_kvadratne_jednacine::LINEARNA;
      x->x1 = - c / b;
   }
   else
   {
      x->vrsta = rezultat_kvadratne_jednacine::POGRESNA;
   }
}

int main ()
{
   double a ,b, c;
   printf ("Koeficijenti kvadratne jednacine? ");
   scanf ("%lf%lf%lf", &a, &b, &c);

   // OVDE ZELIMO REZULTATE
   rezultat_kvadratne_jednacine rezultat;    
    
   // OVO JE POZIV FUNKCIJE SA PROSLEDJEMON STRUKTUROM GDE TREBA DA BUDU REZULTATI
   funkcija_za_racunanje_kvardatne_jednacine( a, b, c, &rezultat );
   
   // OVO JE ANALIZA REZULTATAT IZ STRUKTURE I IZVESTAVANJE
   switch ( rezultat.vrsta )
   {
      case rezultat_kvadratne_jednacine::REALNI:
         printf ("Realni koreni su %.2f i %.2f\n", rezultat.x1, rezultat.x2);
         break;
      case rezultat_kvadratne_jednacine::DVOSTRUKI:
         printf ("Dvostruki realni koren je %.2f\n", rezultat.x1);
         break;
      case rezultat_kvadratne_jednacine::KOMPLEKSNI:
         printf ("Kompleksni koreni su (%.2f,%.2f) i (%.2f,%.2f)\n", rezultat.x1, rezultat.y1, rezultat.x2, rezultat.y2);
         break;
      case rezultat_kvadratne_jednacine::LINEARNA:
         printf ("Resenje linearne jednacine je %.2f\n", rezultat.x1);
         break;
      case rezultat_kvadratne_jednacine::POGRESNA:
         printf ("Podaci nemaju smisla!\n");
         break;
   }
   
   system("PAUSE");
   return EXIT_SUCCESS;
}

 
Odgovor na temu

nikoladjile
nikola glisic
skola
paracin

Član broj: 162397
Poruke: 13
217.24.21.*



Profil

icon Re: [Zadatak] Kvadratna jednacina (preko funkcije)16.11.2007. u 20:36 - pre 200 meseci
E hvala ti puno.CAR si!!!
Nismo se bili razumeli ja radim u jeziku C(moja greska)
HVALA PUNO
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Kvadratna jednacina (preko funkcije)

[ Pregleda: 6072 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.