Pereiti prie turinio

Rekomenduojami pranešimai

O ko čia nesuprasti? Yra intervalas, yra kažkiek jo dalių. Realiai nurodai koks intervalas ir į kiek dalių suskirstyti jį. Pvz turi intervalą [0;5], tuomet sakai kad bus 3 dalys, vadinasi 0, 2,5 ir 5. Statai kiekvieną reikšmę į funkciją ir žiūri koks atsakymas

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prie ko cia tas padalijimas i intervalus? Neaiski salyga. Neturejau ka veikt tai parasiau per 2 minutes :D

#include <iostream>
#include <math.h>

using namespace std;

double funkcija (int x){
 return ( (x*x-3*x+2) / (pow(x, 3/2) - 1) );
}

int main(){
 int a, b;
 double min=0, max=0;


 cin >> a >> b;


 for(int i=a; i<=b; i++){
   double rez = funkcija(i);
   max = rez > max ? rez : max;
   min = rez < min ? rez : min;
 }

 cout << "Maksimali reiksme: " << max << endl << "Minimali reiksme: " << min << endl;

 return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prie ko cia tas padalijimas i intervalus? Neaiski salyga. Neturejau ka veikt tai parasiau per 2 minutes :D

#include <iostream>
#include <math.h>

using namespace std;

double funkcija (int x){
 return ( (x*x-3*x+2) / (pow(x, 3/2) - 1) );
}

int main(){
 int a, b;
 double min=0, max=0;


 cin >> a >> b;


 for(int i=a; i<=b; i++){
   double rez = funkcija(i);
   max = rez > max ? rez : max;
   min = rez < min ? rez : min;
 }

 cout << "Maksimali reiksme: " << max << endl << "Minimali reiksme: " << min << endl;

 return 0;
}

nu gerai tarkim as noriu sia funkcija dalinti i tukstanti daliu ir rasti min ir max tarp a=1,02 ir b=1,023, tai ar tikrai tavo parasyta programa duos man atsakyma? :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Realiai reikės pakeisti šitą vietą tuomet:

for(int i=a; i<=b; i++)

pvz gali užrašyti kažką panašaus

cin >> a >> b;
cin >> n;
double x = (b-a)/n;
for(double i=a; i<=b; i+=x)

x bus Tavo žingsnis

n kiek yra intervalų

bet (b-a) gali būti ir neigiamas, o to mes nenorime... Taigi jeigu gaunasi x neigiamas, tuomet x keičiame į teigiamą :)

Redagavo Plutonium
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Labas vakaras, labai reikalinga pagalba c++

Parašykite programa, kuri suskaičiuotų funkcijos integralą. Funkcija ir integravimo rėžiai nuskaitomi iš failo, pvz.:

Integrate[sin[x]^2*exp[x]*Log[x+1],{x,0,10}]

Rezultatas užrašomas tame pačiame faile naujoje eilutėje. Naudoti Niutono-Koteso (Newton-cotes) metodą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Esmej supratau. Bet padariau ziopla klaida. Man c kalba parasyti reikia, todel nelabai suprantu : \

Na C++ yra tarpinis variantas tarp C ir objektinio, o šita programa labai paprasta, manau pasedėjąs truputi pertvarkysi. Reiktų pvz cin keistį į getchar() ir panašus stuff, bet didelė dalis tūrėtų tikti. Svarbu algoritmas yra ;)

 

Labas vakaras, labai reikalinga pagalba c++

Parašykite programa, kuri suskaičiuotų funkcijos integralą. Funkcija ir integravimo rėžiai nuskaitomi iš failo, pvz.:

Integrate[sin[x]^2*exp[x]*Log[x+1],{x,0,10}]

Rezultatas užrašomas tame pačiame faile naujoje eilutėje. Naudoti Niutono-Koteso (Newton-cotes) metodą.

 

Sakyčiau sunkios užduoties nori, kad sugebėtų pats nuskaityti ir nustatyti kaip viską daryti... Ieškokis internete, nes čia nemanau kad kas greitai padės

Redagavo Plutonium
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pacios pradzios nesupratau : \ tarkim kaip rasete nuo 0 iki 5 ir i n=3. ats turetu buti 0; 2.5; 5. bet pagal formule b-a/n. gaunu jau nesamone...

Apskliausti nepamiršote? Ir šitas suveiks jei abu teigiami. Kitu atveju reiktų tikslintimą kažkokį pasidaryti, bet realiai, emi didesnę reikšmę, atemi mažesnę, vadinasi gauni vertę tarp jų, kurią ir padalini iš kiek turėtų būti tarpų

Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <iostream>

#include <math.h>

 

using namespace std;

 

double funkcija (int x){

return ( (x*x-3*x+2) / (pow(x, 3/2) - 1) );

}

 

int main(){

int a, b;

double min=0, max=0;

 

 

cin >> a >> b;

 

 

for(int i=a; i<=b; i++){

double rez = funkcija(i);

max = rez > max ? rez : max;

min = rez < min ? rez : min;

}

 

cout << "Maksimali reiksme: " << max << endl << "Minimali reiksme: " << min << endl;

 

return 0;

}

 

Jei palyginus su c kalba. eiluteje cin >> a >> b praso ivest a ir b. o kur praso ivest n? ar kur praso nurodyti jo reiksme?

Redagavo Domukas077
Nuoroda į pranešimą
Dalintis kituose puslapiuose

kad ir pakeites i c kalba:

int main(){

int a, b,n;

double min=0, max=0;

printf("iveskite a");

scanf("%d", &a);

printf("iveskite b");

scanf("%d", &b);

printf("iveskite m");

scanf("%d", &n);

 

arba banciau su c++:

int main(){

int a, b,n;

double min=0, max=0;

cin >> a >> b >> n;

 

kad ir koki n ivedu jis atsakymui neturi jokios itakos...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <iostream>
#include <math.h>

using namespace std;

double funkcija (int x){
 return ( (x*x-3*x+2) / (pow(x, 3/2) - 1) );
}

int main(){
 int a, b, n;
 double min=0, max=0;


 cin >> a >> b >> n;


double x = (b-a)/n;
for(double i=a; i<=b; i+=x){
   double rez = funkcija(i);
   max = rez > max ? rez : max;
   min = rez < min ? rez : min;
 }

 cout << "Maksimali reiksme: " << max << endl << "Minimali reiksme: " << min << endl;

system("pause");
 return 0;
}

 

Taip turetu atrodyt?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <iostream>
#include <math.h>

using namespace std;

double funkcija (double x){
 return ( (x*x-3*x+2) / (pow(x, 3/2) - 1) );
}

int main(){
 int a, b, n;
 double min=0, max=0;


 cin >> a >> b >> n;


double x = (b-a)/n;
for(double i=a; i<=b; i+=x){
   double rez = funkcija(i);
   max = rez > max ? rez : max;
   min = rez < min ? rez : min;
 }

 cout << "Maksimali reiksme: " << max << endl << "Minimali reiksme: " << min << endl;

system("pause");
 return 0;
}

 

Vistiek n reiksme neitakoja salygos : \ ivedu a=21 b=25 n ivedu belenkoki, vistiek ta pati atsakyma meta...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Išsivesk info kartais, bus patogiau ;) Taip pamatysi tarpinius variantus. Pvz dabar parodys su kokiu i, kokia reikšmė yra gaunama :)

#include <iostream>
#include <math.h>

using namespace std;

double funkcija (double x){
return ( (x*x-3*x+2) / (pow(x, 3/2) - 1) );
}

int main(){
int a, b, n;
double min, max;


cin >> a >> b >> n;

min =  funkcija(a);
max =  funkcija(a);

double x = (b-a)/n;
cout << " x : " << x << endl;
for(double i=a; i<=b; i+=x){
	double rez = funkcija(i);
	cout << "  kai i = " << i << " rez yra " << rez << endl;
	max = rez > max ? rez : max;
	min = rez < min ? rez : min;
}

cout << "Maksimali reiksme: " << max << endl << "Minimali reiksme: " << min << endl;

system("pause");
return 0;
}

 

Dar truputi pataisiau. Dabar jau tūrėtų pilnai veigti kai a ir b bus teigiamos reikšmės. Reikėjo dadėti

min =  funkcija(a);
max =  funkcija(a);

nes nurodžius betkokį skaičių, paskui gali ir neperskaičiuoti min ar max, todėl geriau imti realiai pirmąją reikšmę kas prilygo a kintamajam

Redagavo Plutonium
Nuoroda į pranešimą
Dalintis kituose puslapiuose

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



double funkcija (float x){
       return ( (x*x-3*x+2) / (sqrt(2*(x*x*x))-1) );
}

int main(){
       int a, b, n;
       float min, max,i,rez,x;


 printf("iveskite a");
 scanf("%d", &a);
 printf("iveskite b");
 scanf("%d", &b);
 printf("iveskite n");
 scanf("%d", &n);

min =  funkcija(a);
max =  funkcija(a);


       x = (b-a)/n;
       printf("x: %.0f\n",x);

       for( i=a; i<=b; i=i+x){

               rez = funkcija(i);
               printf("  kai i = %.0f ,rez yra %.0f \n",i,rez);
                if (max<rez)
                max=rez;
                if (min>rez)
                min=rez;
       }

        printf("didziausia reiksme yra %.0f\n",max);
        printf("maziausia reiksme yra %.0f\n",min);

       system("pause");
       return 0;
}

Stai jau issivertes i c kalba : )) aciu labai uz sugaista laika :)))))))))))))))))))))))))))))

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ą...