Pereiti prie turinio

C++ Herono formulė


Rekomenduojami pranešimai

Sveiki, reikia pagalbos su c++ uždaviniu. Uždavinys:

 

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
int a, b, c; // triju lazdu ilgiai
int   	n, // lazdu rinkiniu skaicius
         i; // cinklo kintamasis
   cout <<"Iveskite, kiek lazdu rinkiniu bus: "; cin >> n;
   for (i = 1; i <= n; i = i + 1){
       cout << "Iveskite triju lazdu " << i << "-aji rinkini: ";
       cin >> a >> b >> c ;
       cout << "Lazdos: " << setw(2) << fixed << a << " "
           << setw(2) << fixed << b << " " << setw(2) << fixed << c;
       if ((a + b > c) && (a + c > b) && (b + c > a))   // ar trikampis ?
           if ((a == b) && (b == c))                        // ar lygiakrastis ?
               cout << " - Galima sudaryti lygiakrasti trikampi " << endl;
           else if ((a == b) || (b == c) || (a == c))      // ar lygiasonis ?
               cout << " - Galima sudaryti lygiasoni trikampi" << endl;
               else cout << " - galima sudaryti ivairiakrasti trikampi" << endl;
       else cout << " - Trikampio sudaryti negalima " << endl;
       }
   return 0;
}

 

(Uždavinį viskas veikia)

Ir man dabar reikia padaryti, kad programa parašytų ar galima sudaryti trikampius ir reikia, kad pagal herono formulę apskaičiuotų trikampio plotą. Kiek ieškojau internete radau formulę http://upload.wikimedia.org/wikipedia/lt/math/f/c/5/fc5a485aaed7799da196ac7686ad6da9.png ir nežinau kaip ją aprašyti, kad ji tiktų C++

 

 

Gal kas padėsit ir pataisysit programą nemokamai?

Redagavo Edviux
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nemokamai? Ne per gerai tau čia :D? Pala pabandysiu, gal kas išeis.

Edit:

Štai herono formulė.

Raidė p yra pusperimetris. Susižinai pusperimetri ir apskaičiuoji plotą. Labai paprasta. Pabandyk, jei neišeis, pabandysiu kodą parašyt.

Redagavo L1v1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Su L1v1 pagalba gavom tokį kodą:

 

 

#include <iostream>
#include <iomanip>
#include <math.h> // saknies funkcijai

using namespace std;

int main()
{
float p; // pusperimetris
int log; // true, false
float s; // trikampio plotas
int a, b, c; // triju lazdu ilgiai
int     n, // lazdu rinkiniu skaicius
       i; // cinklo kintamasis
       cout <<"Iveskite, kiek lazdu rinkiniu bus: "; cin >> n;
       for (i = 1; i <= n; i = i + 1){
       cout << "Iveskite triju lazdu " << i << "-aji rinkini: ";
       cin >> a >> b >> c ;
       cout << "Lazdos: " << setw(2) << fixed << a << " "
               << setw(2) << fixed << b << " " << setw(2) << fixed << c;
       if ((a + b > c) && (a + c > b) && (b + c > a))   // ar trikampis ?
               if ((a == b) && (b == c))                       // ar lygiakrastis ?
                               log = 1;
               cout << " - Galima sudaryti lygiakrasti trikampi " << endl;
               else if ((a == b) || (b == c) || (a == c))      // ar lygiasonis ?
                               log = 2;
               cout << " - Galima sudaryti lygiasoni trikampi" << endl;
               else cout << " - galima sudaryti ivairiakrasti trikampi" << endl;
       else cout << " - Trikampio sudaryti negalima " << endl;
       }

               if (log=1){ // jei trikampis yra lygiakraštis
               s = (a*a*sqrt(3))/4;
               s = s*n;
               cout << " - Trikampio plotas" << s ;
               }
               else{ // jei trikampys yra lygiašonis
               p = (a+b+c)/2 ;
               s = sqrt(p(p-a)(p-b)(p-c)) ;
               s = s*n;
               cout << " - Trikampio plotas" << s ;
               }


       return 0;

}

 

 

Gal kas padėsit ištaisyti?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Su kodu pas tave beveik viskas gerai, tik reikia reikia apskliausti kai kuriuos if'us, ir pakeisti if (log=1)į if (log==1)

 

int main()
{
 float p; // pusperimetris
 int log; // true, false
 float s; // trikampio plotas
 int a, b, c; // triju lazdu ilgiai
 int     n, // lazdu rinkiniu skaicius
 i; // cinklo kintamasis
 cout <<"Iveskite, kiek lazdu rinkiniu bus: ";
 cin >> n;
 for (i = 1; i <= n; i = i + 1)
   {
     cout << "Iveskite triju lazdu " << i << "-aji rinkini: ";
     cin >> a >> b >> c ;
     cout << "Lazdos: " << setw(2) << fixed << a << " "
          << setw(2) << fixed << b << " " << setw(2) << fixed << c;
     if ((a + b > c) && (a + c > b) && (b + c > a))   // ar trikampis ?
       {
         if ((a == b) && (b == c))                       // ar lygiakrastis ?
           {
             log = 1;
             cout << " - Galima sudaryti lygiakrasti trikampi " << endl;
           }

         else if ((a == b) || (b == c) || (a == c))      // ar lygiasonis ?
           {
             log = 2;
             cout << " - Galima sudaryti lygiasoni trikampi" << endl;
           }
         else cout << " - galima sudaryti ivairiakrasti trikampi" << endl;
       }
     else cout << " - Trikampio sudaryti negalima " << endl;
   }

 if (log==1)  // jei trikampis yra lygiakraštis
   {
     s = (a*a*sqrt(3))/4;
     s = s*n;
     cout << " - Trikampio plotas" << s ;
   }
 else  // jei trikampys yra lygiašonis
   {
     p = (a+b+c)/2 ;
     s = sqrt(p*(p-a)*(p-b)*(p-c)) ;
     s = s*n;
     cout << " - Trikampio plotas" << s ;
   }


 return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Lyg ir veikia per php. Žiūrim čia .

 

Kodas:

<?php

if($_POST){

$n = $_POST['n']; 
$a = $_POST['a']; 
$b = $_POST['b']; 
$c = $_POST['c']; 

     if(empty($n) || empty($a) || empty($b) || empty($c)){
     echo "Nei viena is ivestu reiksmiu negali buti lygi nuliui.";
     }

     else{

					for($i = 0; $i <= $n; $i++){

						if (($a + $b > $c) && ($a + $c > $b) && ($b + $c > $a)) { // trikampis

								if (($a == $b) && ($b == $c)){ // lygiakrastis
								echo " Galima sudaryti lygiakrasti trikampi.";
								break;
								}
								else if (($a == $b) || ($b == $c) || ($a == $c)){ // lygiasonis
								echo " Galima sudaryti lygiasoni trikampi.";
								break;
								}
								else{
								echo "Galima sudaryti ivairiakrasti trikampi.";	//ivairiakrastis
								break;
								}
						$log = 1;	
						return($log);
						}

						else{
						echo "Trikampio sudaryti negalima.";
						$log = 0;
						return($log);
						break;
						}

					}


					if($log=1){
					$p = ($a+$b+$c)/2;

					$q = $p-$a;
					$w = $p-$b;
					$e = $p-$c;

					$s = sqrt($p*$q*$w*$e);
					$s = $s*$n;
					echo "<br />";
					echo "Trikampio plotas yra :" . " " . $s;
					}



				}
}


?>




Redagavo L1v1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...