# Shkenca > Informatikë dhe Internet > Arti i programimit >  Ndihme ne C++

## kujtimii

Pershendetje ,me duhet ndihma juaj me nje detyre ne C++

Programi permes te cilit llogaritet vlera e funksionit:

y=(2*m+3*n-1)!+(m)!-4*x+3

Per llogaritje te faktorielit te shfrytezohet funksioni Fakt. Variablat m dhe n te perfshihen ne komponentet private te klases Funksioni, kurse variablat x dhe funksioni Fakt ne komponentet publike te saj. Vlera e funksionit y te llogaritet ne programin kryesor, ku paraprakisht duhet te deklarohet objekti F i klases Alfa. Variablat qe shfrytezohen gjate llogaritjes te incializohen permes komandave per lexim brenda konstruktorit perkates.

Ja un si e kam bere por nuk po funksionon kur po e ekzekutoj :

#include <iostream>
#include <iomanip>
using namespace std;
class Funksioni
{
    private:
    int m,n;
    public:
    double x;
    double fakt(int t)
    {
        int i;
        double F=1;
        for(i=1;i<=t;i++)
        F=F*i;
        return F;
    }
    Funksioni()
    {
        cout<<"m=";
        cin>>m;
        cout<<"n=";
        cin>>n;
        cout<<"x=";
        cin>>x;
    }
};
class Alfa:: Funksioni
{
    public:
    double y;
};
int main()
{
    Alfa F;
    F.Funksioni();
    F.fakt();
    F.y=F.fakt(2*F.m+3*F.n-1)+F.fakt(m)-4*F.x+3;
    cout<<"y="<<F.y;
    return 0;
}

----------


## defini

> Pershendetje ,me duhet ndihma juaj me nje detyre ne C++


Mund te te udhezoj. Per me tej duhet te mundohesh vete.  :buzeqeshje: 




> Programi permes te cilit llogaritet vlera e funksionit:
> 
> y=(2*m+3*n-1)!+(m)!-4*x+3
> *...*


Mundohu *(2*m + 3*n - 1)* ta llogaritesh dhe ta ruash ne nje variable. Pastaj dergoje ne funksionin _fakt(variable)_. Ne kete menyre ke llogaritur *(2*m + 3*n -1)**!*. Ne kete forme e ben edhe per pjesen tjeter.  :buzeqeshje: 




> *...*
> Ja un si e kam bere por nuk po funksionon kur po e ekzekutoj :


Trego se me cfare komande dhe ku e ke bere ekzekutimin e saj!




> *...*
> 
> 
> ```
> #include <iostream>
> #include <iomanip>
> 
> using namespace std;
> 
> ...





> ```
> ...
> class Alfa:: Funksioni
> {
> ...
> ```


E ke bere (trasheguar) "_by default_" "_private_". Keshtu qe te gjithe elementet e klases _Funksioni_ jane tani _private_ tek klasa _Alfa_. Ne kete forme ti nuk ke mundesi te hapesh/nderhysh ne elementet e klases _Funksioni_ pasi i ke bere _private_ te gjithe. Gjithashtu sintaksa eshte e gabuar. Nga "*::*" duhet ta nderrosh ne "*:*" si dhe "_access specifier_"!




> ```
> ...
>   F.Funksioni();
> ...
> ```


Objekti _F_ therret konstruktorin e klases _Funksioni_. Konstruktori nuk mund te therritet ne forme eksplicite (ekstra). Ai therritet automatikisht nga kompiluesi (_compiler_ ose _perkthyesi_ ne shqip)  kur krijohet nje objekt ne menyre qe te inicializoje (ti jape vlera fillestare) atributet e objektit te sapokrijuar.




> ```
> ...
>     F.fakt();
> ...
> ```


Nuk mund te therrasesh nje funksion qe eshte (e ke bere _private_) private ne klasen baze _Funksioni_.

Shiko kodin:



> ```
> ...
> class Alfa:: Funksioni
> {
> ...
> ```





> ```
> ...
> F.y=F.fakt(2*F.m+3*F.n-1)+F.fakt(m)-4*F.x+3;
> ...
> ```


Kujdes! Funksioni brenda klases ...


```
class Funksioni
{
...
double fakt(int i)
...
};
```

... pranon nje integer si argument dhe e konverton ate ne double. Konvertimi nuk fuksionon ne kete forme. Pastaj perse deshiron te konvertosh ne double?

Gjithashtu ketu ke krijuar nje objekt me emrin _F_ dhe me _F.fakt(m)_ therret funksionin qe permban nje variable po me kete emer _F_. Return _F_ nga thirrja e objektit _F_. Keto natyrisht jane te ndara, pasi _class_ ka eshte _namespace_ ne vehte, por nuk eshte stil i paster programimi.




> ```
> ...
>     cout<<"y="<<F.y;
>     return 0;
> ```
> 
> }


Pershendetje
defini

----------


## defini

Gjithashtu ne kete tutorial gjinden informacione shume te mira fillestare per gjuhen e programimit C++:

http://www.cplusplus.com/files/tutorial.pdf

Pershendetje 
defini

----------


## elsuida

ndime , me duhet me zgjidhe  kete  ushtrim ne  c++

jepet vektoret a dhe b .me ane te nje funksioni ndertoni vektorin c si shume te elmenteve te vektorit a+b
 Do jua dija  shume per  nder  nese me ndimoni  me zgjidhjen e  ketij ushtrimi  se me duhet ta derzoj nje  nga  keto  dite 

me respekt 
elsuida

----------


## Lwgio

[QUOTE=kujtimii;3399316]Pershendetje ,me duhet ndihma juaj me nje detyre ne C++

Programi permes te cilit llogaritet vlera e funksionit:

y=(2*m+3*n-1)!+(m)!-4*x+3

Per llogaritje te faktorielit te shfrytezohet funksioni Fakt. Variablat m dhe n te perfshihen ne komponentet private te klases Funksioni, kurse variablat x dhe funksioni Fakt ne komponentet publike te saj. Vlera e funksionit y te llogaritet ne programin kryesor, ku paraprakisht duhet te deklarohet objekti F i klases Alfa. Variablat qe shfrytezohen gjate llogaritjes te incializohen permes komandave per lexim brenda konstruktorit perkates.

Ja un si e kam bere por nuk po funksionon kur po e ekzekutoj :

#include <iostream>
#include <iomanip>
using namespace std;
class Funksioni
{
    private:
    int m,n;
    public:
    double x;
    double fakt(int t)
    {
        int i;
        double F=1;
        for(i=1;i<=t;i++)
        F=F*i;
        return F;
    }
    Funksioni()
    {
        cout<<"m=";
        cin>>m;
        cout<<"n=";
        cin>>n;
        cout<<"x=";
        cin>>x;
    }
};
class Alfa:: Funksioni
{
    public:
    double y;
};
int main()
{
    Alfa F;
    F.Funksioni();
    F.fakt();
    F.y=F.fakt(2*F.m+3*F.n-1)+F.fakt(m)-4*F.x+3;
    cout<<"y="<<F.y;
    system ("pause");
    return 0;
}

Provo me system ("pause"); perpara return 0;

----------


## lavdimgashi

Pershendetje! Desha te ju bej nje pyetje:
Nese ka mundesi  nje pergjigjeje rreth nje detyre nga kompjuterika rreth portave logjike.
Detyra:
Ne menyren tabelare te ndertohet porta Dhe me an te tri variablave.

----------

