Peršokti į turinį

Gal kas galetu padet su c++ uzduotimi?


Floatas

Recommended Posts

Sveiki gal kas galetu padet issprest uzduoti?

 

U┼żduotis

I┼í sveik┼│j┼│ skai─Źi┼│ intervalo [a; b] reikia i┼írinkti ir i┼íspausdinti vis┼│ galim┼│ ─»vairiakra┼í─Źi┼│ trikampi┼│ kra┼ítini┼│ ilgius ir plotus.

Pradiniai duomenys a ir b ─»vedami klaviat┼źra, rezultatai turi b┼źti pateikiami faile Rezultatai4.txt.

Pradiniai duomenys Rezultatai 5 8

5 6 7 14.70

5 6 8 14.98

5 7 8 17.32

6 7 8 20.33

Reikalavimai

Reikia sukurti:

  1. funkcij─ů, patikrinan─Źi─ů, ar galima sudaryti trikamp─» (funkcija gr─ů┼żina reik┼ím─Ö true, jei trikamp─» sudaryti galima, prie┼íingu atveju ÔÇô false);
  2. funkcij─ů, patikrinan─Źi─ů, ar trikampis ─»vairiakra┼ítis (funkcija gr─ů┼żina reik┼ím─Ö true, jei trikampis ─»vairiakra┼ítis, prie┼íingu atveju ÔÇô false);
  3. funkcij─ů, gr─ů┼żinan─Źi─ů apskai─Źiuot─ů trikampio plot─ů.

Padariau 50% ir nebezinau kaip su intervalu susitvarkyt ir krastinemis , gal galit padet ar patart?

#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;

// ├łia para├░ykite funkcij├Ş antra├░tes
bool ArTrikampis(int a, int b, int c);
bool ArIvairiakrastis(int a,int b,int c);
float TrikampioPlotas(int a,int b,int c);

int main()
{
    ofstream RezFailas;
    RezFailas.open("Rezultatas4.txt");

    int a , b;
    cout >> "Iveskite intervalo pirmaji skaiciu" >> endl;
    a << cin;
    cout >> "Iveskite intervalo antraji skaiciu" >> endl;
    b << cin;
    if(b > a)
    {
        cout >> "Intervalo pradinis skaitmuo negali buti mazesnis uz antraji!";
        exit(1);
    }
    int akrastine,bkrastine,ckrastine;
    for(int i = a;a < b;i++)
    {
        if(i = a)
        {
            akrastine = i;
            bkrastine = akrastine+1;
            ckrastine = bkrastine+1;
        }
        else if(akrastine > a)
        {

        }
        if(ArTrikampis(akrastine,bkrastine,ckrastine) == true && ArIvairiakrastis(akrastine,bkrastine,ckrastine) == true)
        {
            RezFailas << akrastine << " " << bkrastine << " " << ckrastine << " " << TrikampioPlotas(akrastine,bkrastine,ckrastine) << endl;
        }
    }
    return 0;
}

// Funkcija, patikrinanti, ar galima sudaryti trikampá
// Funkcija gr├á├żina reik├░m├Ž true, jei trikamp├í sudaryti galima, prie├░ingu atveju ÔÇô false;
bool ArTrikampis(int a, int b, int c)
{
    if((a < b+c) && (b < a+c) && (c < b+a)) return true;
        else return false;
}

bool ArIvairiakrastis(int a,int b,int c)
{
    if((a !=  && (b != c) && (c != a)) return true;
        else return false;
}
// Funkcija, patikrinanti, ar trikampis ávairiakraðtis
// Funkcija gr├á├żina reik├░m├Ž true, jei trikampis ├ívairiakra├░tis, prie├░ingu atveju ÔÇô false


// Funkcija, gr├á├żinanti apskai├Ęiuot├á trikampio plot├á.
float TrikampioPlotas(int a,int b,int c)
{
    float s = (a+b+c)/2;
    float area = sqrt(s*(s-a)*(s-c)*(s-);
    return area;
}


Labai padetumet , dekui.

Redaguota , nario Dziugauskis
Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

ta prasme su intervalu? patikrink ar nedaugiau u┼ż intervala ir ar nema┼żiau ir viskas arba tiesiog konkre─Źiau parodyk kur problema ir iki kur veikia. Dar vienas dalykas.

Tavo tikrinimas:

 if(ArTrikampis(akrastine,bkrastine,ckrastine) == true && ArIvairiakrastis(akrastine,bkrastine,ckrastine) == true)

tau nereikia tikrint == true, funkcija i┼í sav─Ös jau gry┼żta true, tod─Śl gali palikti ┼íitaip

if(ArTrikampis(akrastine,bkrastine,ckrastine)  && ArIvairiakrastis(akrastine,bkrastine,ckrastine) )


 

Redaguota , nario GReddy
Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

 if(ArTrikampis(akrastine,bkrastine,ckrastine) == true && ArIvairiakrastis(akrastine,bkrastine,ckrastine) == true)

tau nereikia tikrint == true, funkcija i┼í sav─Ös jau gry┼żta true, tod─Śl gali palikti ┼íitaip

if(ArTrikampis(akrastine,bkrastine,ckrastine)  && ArIvairiakrastis(akrastine,bkrastine,ckrastine) )

Tas nieko nepakei─Źia ir problemos nei┼ísprend┼żia.

Redaguota , nario Edgu
Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

Tas nieko nepakei─Źia ir problemos nei┼ísprend┼żia.

Skaityk vis─ů ┼żinut─Ö, tau svarbu pakomentuoti, ot koks, auk┼í─Źiau para┼íiau, kad para┼íyt┼│ kur konkre─Źiau viskas nor─Ś─Źiau ┼żinoti + pasi┼źliau optimizuoti kod─ů, kas blogai?

Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

(redaguota)

Turiu va toki koda

#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;

// ├łia para├░ykite funkcij├Ş antra├░tes
bool ArTrikampis(int a, int b, int c);
bool ArIvairiakrastis(int a,int b,int c);
float TrikampioPlotas(int a,int b,int c);

int main()
{
    ifstream DuomFailas;
    ofstream RezFailas;

    DuomFailas.open("Duomenys4.txt");
    RezFailas.open("Rezultatas4.txt");

    int a , b;
    int akrastine,bkrastine,ckrastine;
    DuomFailas >> a >> b;
    for(int i = a;a < b;i++)
    {
        if(ckrastine != b && akrastine == akrastine+(akrastine-a))
        {
            ckrastine++;
        }
        else if(ckrastine == 
        {
            akrastine++;
        }
        else if(i == a) // pirmam paleidimui
        {
            akrastine = i;
            bkrastine = akrastine+1;
            ckrastine = bkrastine+1;
        }
        else if(akrastine == ckrastine-2)
        {
            break;
        }
    	if(bkrastine >  break;
    	if(ArTrikampis(akrastine,bkrastine,ckrastine) && ArIvairiakrastis(akrastine,bkrastine,ckrastine))
    	{
    		RezFailas << akrastine << " " << bkrastine << " " << ckrastine << " " << TrikampioPlotas(akrastine,bkrastine,ckrastine) << endl;
    	}
    }
    return 0;
}

// Funkcija, patikrinanti, ar galima sudaryti trikampá
// Funkcija gr├á├żina reik├░m├Ž true, jei trikamp├í sudaryti galima, prie├░ingu atveju ÔÇô false;
bool ArTrikampis(int a, int b, int c)
{
	if((a < b+c) && (b < a+c) && (c < b+a)) return true;
		else return false;
}

bool ArIvairiakrastis(int a,int b,int c)
{
	if((a !=  && (b != c) && (c != a)) return true;
		else return false;
}
// Funkcija, patikrinanti, ar trikampis ávairiakraðtis
// Funkcija gr├á├żina reik├░m├Ž true, jei trikampis ├ívairiakra├░tis, prie├░ingu atveju ÔÇô false


// Funkcija, gr├á├żinanti apskai├Ęiuot├á trikampio plot├á.
float TrikampioPlotas(int a,int b,int c)
{
    float s = (a+b+c)/2;
    float area = sqrt(s*(s-a)*(s-c)*(s-);
    return area;
}


ir turi gautis pagal pavyzdi is failo ivedus 5 ir 8.O man isvis niekas neisvedama i rezfaila...

Redaguota , nario Dziugauskis
Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

Turiu va toki koda

#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;

// ├łia para├░ykite funkcij├Ş antra├░tes
bool ArTrikampis(int a, int b, int c);
bool ArIvairiakrastis(int a,int b,int c);
float TrikampioPlotas(int a,int b,int c);

int main()
{
    ifstream DuomFailas;
    ofstream RezFailas;

    DuomFailas.open("Duomenys4.txt");
    RezFailas.open("Rezultatas4.txt");

    int a , b;
    int akrastine,bkrastine,ckrastine;
    DuomFailas >> a >> b;
    for(int i = a;a < b;i++)
    {
        if(ckrastine != b && akrastine == akrastine+(akrastine-a))
        {
            ckrastine++;
        }
        else if(ckrastine == 
        {
            akrastine++;
        }
        else if(i == a) // pirmam paleidimui
        {
            akrastine = i;
            bkrastine = akrastine+1;
            ckrastine = bkrastine+1;
        }
        else if(akrastine == ckrastine-2)
        {
            break;
        }
    	if(bkrastine >  break;
    	if(ArTrikampis(akrastine,bkrastine,ckrastine) && ArIvairiakrastis(akrastine,bkrastine,ckrastine))
    	{
    		RezFailas << akrastine << " " << bkrastine << " " << ckrastine << " " << TrikampioPlotas(akrastine,bkrastine,ckrastine) << endl;
    	}
    }
    return 0;
}

// Funkcija, patikrinanti, ar galima sudaryti trikampá
// Funkcija gr├á├żina reik├░m├Ž true, jei trikamp├í sudaryti galima, prie├░ingu atveju ÔÇô false;
bool ArTrikampis(int a, int b, int c)
{
	if((a < b+c) && (b < a+c) && (c < b+a)) return true;
		else return false;
}

bool ArIvairiakrastis(int a,int b,int c)
{
	if((a !=  && (b != c) && (c != a)) return true;
		else return false;
}
// Funkcija, patikrinanti, ar trikampis ávairiakraðtis
// Funkcija gr├á├żina reik├░m├Ž true, jei trikampis ├ívairiakra├░tis, prie├░ingu atveju ÔÇô false


// Funkcija, gr├á├żinanti apskai├Ęiuot├á trikampio plot├á.
float TrikampioPlotas(int a,int b,int c)
{
    float s = (a+b+c)/2;
    float area = sqrt(s*(s-a)*(s-c)*(s-);
    return area;
}


ir turi gautis pagal pavyzdi is failo ivedus 5 ir 8.O man isvis niekas neisvedama i rezfaila...

 

─îia su kra┼ítini┼│ tikrinimu, jeigu gerai pamenu, tau reikia naudoti cikl─ů, cikl─Ö. ka┼żk─ů tokio:

    for(int i=a;a<=b;i++)
    {
        for(int j=i;j<=b;j++)
        {
            for(int k=j;k<=b;i++)
            {
                akrastine = i;
                bkrastine = j;
                ckrastine = k;
                if(ArTrikampis(akrastine,bkrastine,ckrastine) && ArIvairiakrastis(akrastine,bkrastine,ckrastine))
                {
                    RezFailas << akrastine << " " << bkrastine << " " << ckrastine << " " << TrikampioPlotas(akrastine,bkrastine,ckrastine) << endl;
                }
            }
        }
 
    }

 

 

Tiksliai nepamenu, kad b┼źt bet tau reikia prachekinti visas gi, vakar nebesigalvoja jau man :/

Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

Skaityk vis─ů ┼żinut─Ö, tau svarbu pakomentuoti, ot koks, auk┼í─Źiau para┼íiau, kad para┼íyt┼│ kur konkre─Źiau viskas nor─Ś─Źiau ┼żinoti + pasi┼źliau optimizuoti kod─ů, kas blogai?

Optimizuot? Jai tu ra┼íysi su == true ar be grei─Źiau programa neveiks.

 

Temos autoriau: http://pastebin.com/FkAsvAx3

Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

Optimizuot? Jai tu ra┼íysi su == true ar be grei─Źiau programa neveiks.

 

Temos autoriau: http://pastebin.com/FkAsvAx3

D─Śl ┼íito:

 if(ArTrikampis(akrastine,bkrastine,ckrastine) == true && ArIvairiakrastis(akrastine,bkrastine,ckrastine) == true)
tau nereikia tikrint == true, funkcija i┼í sav─Ös jau gry┼żta true, tod─Śl gali palikti ┼íitaip

if(ArTrikampis(akrastine,bkrastine,ckrastine)  && ArIvairiakrastis(akrastine,bkrastine,ckrastine) )

nenusi┼ínekam, kaip ir sakiau funkcija i┼í sav─Ös jau gry┼żta true. Pats pabandyk ir suprasi, kad eina ir taip :)

Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

D─Śl ┼íito:

 if(ArTrikampis(akrastine,bkrastine,ckrastine) == true && ArIvairiakrastis(akrastine,bkrastine,ckrastine) == true)
tau nereikia tikrint == true, funkcija i┼í sav─Ös jau gry┼żta true, tod─Śl gali palikti ┼íitaip

if(ArTrikampis(akrastine,bkrastine,ckrastine)  && ArIvairiakrastis(akrastine,bkrastine,ckrastine) )

nenusi┼ínekam, kaip ir sakiau funkcija i┼í sav─Ös jau gry┼żta true. Pats pabandyk ir suprasi, kad eina ir taip :)

 

O kas sako jog negry┼żta? Tas tikrinimas vistiek ivyksta ar tu su == ra┼íysi ar be. Ifas tikrina kas sugry┼żta.

Redaguota , nario Edgu
Nuoroda ─» komentar─ů
Dalintis per kit─ů puslap─»

Sve─Źias
┼ái tema yra u┼żrakinta.
  • ┼áiame puslapyje nar┼ío:   0 nariai

    N─Śra registruot┼│ nari┼│ per┼żi┼źrin─Źi┼│ ┼í─» forum─ů.


├Ś
├Ś
  • Sukurti nauj─ů...