fizmati.lv forums

Pilnā versija: Meklēju palīdzību.
Jūs pašlaik aplūkojat satura saīsināto versiju. Skatīt pilno versiju ar atbilstošu noformējumu.
Sveiki visiem, atkal meklēju palīdzību, būšu ļoti pateicīgs!
Nevaru saprast kur ir kļūda...

Kods:
#include <iostream>
#include <cmath>
using namespace std;

int main ()
{
    float x, y, p, s;
    cout << "Ievadiet jebkuru skaitli x:\n";
    cin >> x;
    {
    if (x<0) cout << "Kvadrats ir: " <<y <<endl;
    y = x*x;
    p = pow (x, 2);
    else cout << "Skaitlis ir: " <<y <<endl;
    else if (x>0) cout << "Kvadratsakne ir: " <<y <<endl;
    y = s;
    s = sqrt (x);
    }
    system ("pause");
    return 0;
}
kas tev tie par p un s?
ievadam x
if(x > 0) y = x*x; (ja tev ir mazas pakāpes, tad nevajag nekādu pow)
if(x=0) y = 0;
else y = sqrt(x);
(19.01.2014 14:22 )sanfrancisko rakstīja: [ -> ]kas tev tie par p un s?
ievadam x
if(x > 0) y = x*x; (ja tev ir mazas pakāpes, tad nevajag nekādu pow)
if(x=0) y = 0;
else y = sqrt(x);

Jā, bet uzrakstot to funkciju "else" viņš man rāda ka tur esot error
"expected primary-expression before "else""
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
float x, y;
cout << "Ievadiet x:" << endl;
cin >> x;

if (x < 0)
y = x * x;
else if (x == 0)
y = 0;
else y = sqrt(x);

cout << "y = " << y << endl;
return 0;
}
(19.01.2014 16:20 )sanfrancisko rakstīja: [ -> ]#include <iostream>
#include <math.h>

using namespace std;

int main()
{
float x, y;
cout << "Ievadiet x:" << endl;
cin >> x;

if (x < 0)
y = x * x;
else if (x == 0)
y = 0;
else y = sqrt(x);

cout << "y = " << y << endl;
return 0;
}

paldies, palīdzēja! Smile
Jā, savajadzējās atkal palīdzību.

Tagad man vajg uzrakstīt piemēram pie
Kods:
if (x<0)
y = x*x
lai izvada tekstu Kvadrats ir: . Esmu mēģinājis rakstīt šādi -

Kods:
if (x<0) cout << "Kvadrats ir: " <<y <<endl;
y = x*x
, to pašu arī pie else un else if, bet man met ārā erroru "expected primary-expression before else", īsāk sakot iznākumam vajadzētu būt šādām skatīt pielikumu.
(20.01.2014 20:23 )sanfrancisko rakstīja: [ -> ]googlē bans?
http://www.cplusplus.com/forum/general/103427/

Very Happy, paldies! Very Happy
(20.01.2014 20:23 )sanfrancisko rakstīja: [ -> ]googlē bans?
http://www.cplusplus.com/forum/general/103427/

Diemžēl man tas forums nekā nepalīdzēja. Turpina mest to pašu erroru!
Ko es daru nepareizi, pasakiet man lūdzu.

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

using namespace std;

int main()
{
    float x, y;
    cout << "Ievadiet jebkuru skaitli x:\n";
    cin >> x;
    if (x<0) cout << "Kvadrats ir: " <<y <<endl;
    y = x*x;
    else if (x==0) cout << "Skaitlis ir: " <<y <<endl;
    y = 0;
    else (x>0) cout << "Kvadratsakne ir: " <<y <<endl;
    y = sqrt(x);
    system ("pause");
    return 0;
}
ja pēc if gribi veikt vairāk, kā vienu darbību, tad tās ir jāliek figūriekavās

if (a > b)
c = 1; //figūriekvas var likt, var nelikt, tas ir gaumes jautājums

if(a > b)
{
c = 1;
d = 2;
} // jāliek figūriekavas, jo if izpildes gadījumā vajag izpildīt abus statementus


tev kļūda ir te, jo, ja x < 0, tad viņš tikai izvadīs uz ekrāna "kvadrats ir". ja nebūtu else, tad y = x*x izpildītos netakarīgi no tā kāds ir x
if (x<0) cout << "Kvadrats ir: " <<y <<endl;
y = x*x;
else if (x==0) cout << "Skaitlis ir: " <<y <<endl;
y = 0;

vēlreiz uzmanīgi izlasi linku, ko iedevu, otrajā postā viss ir paskaidrots
^^, procesā radās vēlviena problēma Very Happy

Kods:
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    float x, y, s;
    cout << "Ievadiet jebkuru skaitli x:\n";
    cin >> x;
    if (x<0)
    {
    y = x*x;
    cout << "Kvadrats ir: "<<y <<endl;
    }
    else if (x>0)
    {
    y = sqrt (x);
    cout << "Kvadratsakne ir: "<<y <<endl;
    }
    else (x=0);
    {
    y = 0;
    cout << "Skaitlis ir: "<<y <<endl;
    }
    system ("pause");
    return 0;
}
Skatīt pielikumu, noņemot semikolu pie else man metīs "expected ';' before '{' token"
1) pēdējam else nevajag nosacijumu, jo tas tiks izpildits, ja ieprieksejie (nosacijums1 un nosacijums2 netiks izpilditi). ja izpildas nosacijums1 vai nosacijums2, tad pēdējais else bloks netiks izpildīts

if (nosacijums1)
{
izteiksme1;
}
else if (nosacijums2)
{
izteiksme2;
}
else
{
izteiksme3;
}

2) ar operatoru = mainīgajam piešķir vērtību, ar operatoru == pārbauda vienādību
(21.01.2014 17:53 )sanfrancisko rakstīja: [ -> ]1) pēdējam else nevajag nosacijumu, jo tas tiks izpildits, ja ieprieksejie (nosacijums1 un nosacijums2 netiks izpilditi). ja izpildas nosacijums1 vai nosacijums2, tad pēdējais else bloks netiks izpildīts

if (nosacijums1)
{
izteiksme1;
}
else if (nosacijums2)
{
izteiksme2;
}
else
{
izteiksme3;
}

2) ar operatoru = mainīgajam piešķir vērtību, ar operatoru == pārbauda vienādību

paldies, pabeidzu! Wink
Atsauces saites