Se afișează postările cu eticheta Clasa 11. Afișați toate postările
Se afișează postările cu eticheta Clasa 11. Afișați toate postările

luni, 3 septembrie 2018

Pointeri

 Prezentare generală 

Un pointer este o variabilă care are ca valoare  o adresă din memoria internă a calculatorului  , această adresă aparține unei alte variabile .

OBS !!  Pentru utilizarea a utiliza pointeri în prealabil aceștia trebuie declarați .
exp de declarare :
int *a ;
float *b

După cum putem observa în acest exemplu  declarăm doi pointeri  de tip întreg/real .

Pointerii se pot utiliza și pentru variabile de tip structură de date .

exemplu :
 
strcut copil
{
char nume[20];
char prenume[20];
int varsta;
};

copil *c ,*d;

Variabilele c și de vor reține adresele variabilelor declarate de tipul student .





miercuri, 23 aprilie 2014

Grafuri

 Programul pentru grafuri.
 Graphs


 #include <iostream>
 using namespace std;
 int  a[20][20],i,j,n,m,x,y,u;
 int grad (int i)
 {
 |    int s,j;
 |    s=0;
 |    for(j=1;j<=n;j++)
 |     s+=a[i][j];
 |   return s;
 }

    int main()
 ★    {
 |    cout<<" noduri n="; cin >>n;
 |    cout<<"muchii m="; cin>>m;
 |    for(i=1;i<=n;i++)
 |   {
 ||       cout<<" nodurile la stanga muchiei ="<<i;
 ||       cin >>x;
 ||       cout<<" nodurile la dreapta muchiei ="<<i;
 ||       cin>>y;
 ||       a[x][y]=1; a[y][x]=1;
 ||       
 ||       for(i=1;i<=n;i++)
 ||           cout<<"Varful"<<i<<"are gradul"<<grad(i)<<endl;
 |    }
    }

vineri, 28 februarie 2014

Lista

Afisaza folosind lista , si procedelul de listare  anumiti parametrii (varsta ,medie).


    #include <iostream>
    #include <string.h>
    using namespace std;

     struct nod
    {
   |    int v , kg, nm;
   |     char nume[10],prenume[10],clasa[10];
   |     nod *next;
    };
     nod *prim,*a,*c,*ultim;
     void adaugare()
   {
   |     if(prim==NULL)
   |    {
   ||         prim=new nod;
   ||         cout<<"Numele =";
   ||         cin>>prim->nume;
   ||         cout<<"Prenume=";
   ||         cin>>prim->prenume;
   ||         cout<<"Varsta=";
   ||         cin>>prim->v;
   ||         cout<<"Greutate=";
   ||        cin>>prim->kg;
   ||         cout<<"Medie matematice=";
   ||         cin>>prim->nm;
   ||         prim->next=0;
   ||         ultim=prim;
   |     }
   |     else
   |     {
   ||         nod *c;
   ||         c=new nod;
   ||         cout<<"Numele =";
   ||         cin>>c->nume;
   ||         cout<<"Prenume=";
   ||         cin>>c->prenume;
   ||         cout<<"Varsta=";
   ||         cin>>c->v;
   ||         cout<<"Greutate=";
   ||         cin>>c->kg;
   ||         cout<<"Media matematica=";
   ||         cin>>c->nm;
   ||         ultim->next=c;
   ||         ultim=c;
   ||         ultim->next=0;
   |     }
    }

    void listare()
    {
   |     c=prim;
   |     while(c!=0)
   |       
   ||         cout<<" Numele="<<c->nume<<endl;
   ||         cout<<"\n Prenume="<<c->prenume;
   ||         cout<<"\n Varsta="<<c->v;
   ||         cout<<"\n Greutate="<<c->kg;
   ||         cout<<"\n Media matematica="<<c->nm;
   ||         c=c->next;
   |       }
   |       cout<<endl;
   ★  }

        void testare()
       
   |         int varsta;
   |         cout<<"Varsta  pe care trebuie sa o gasesc=";
   |         cin>>varsta;
   |         c=prim;
   |         while(c->v==varsta && c!=0)
   |           {
   ||              cout<<" Numele elevului="<<c->nume;
   ||              c=c->next;
   |           }
        }
        void medie()
        {
   |         c=prim;
   |         while(c!=0)
   |         {
   ||             cout<<c->nm<<endl;
   ||             c=c->next;
   |         }
        }
        
        int main()
       {
   |     int i ,n;
   |     cout<<"n=";cin>>n;
   |     for(i=1;i<=n;i++)
   |        adaugare();
   |
   |        listare();
   |        testare();
   |        listare();
   |        medie();
       }

joi, 27 februarie 2014

Liste problema acasa

Prin procedeul de listare se  afisaza  anumiti parametri dar si ordoneaza in functie.


    #include <iostream>
    #include <string.h>
    using namespace std;
    struct nod
    {
        int v,kg,nm;
        char nume[10], prenume[10],clasa[5];
        nod*next;
    };
    nod *prim,*c,*a,*ultim;
    void creere_aduagare()
    {
        if(prim=NULL)
        {
            prim=new nod;
            cout<<"Varsta este:";
            cin>>prim->v;
            cout<<"Numele este:";
            cin>>prim->nume;
            cout<<"Prenumele este:";
            cin>>prim->prenume;
            cout<<"Clasa este:";
            cin>>prim->clasa;
            cout<<"Greutatea =";
            cin>>prim->kg;
            cout<<"Nota la matematica=";
            cin>>prim->nm;
            prim->next=0;
            ultim=prim;
        }
        else
        {
            c=new nod;
            cout<<"Varsta este:";
            cin>>c->v;
            cout<<"Numele este:";
            cin>>c->nume;
            cout<<"Prenumele este:";
            cin>>c->prenume;
            cout<<"Clasa este:";
            cin>>c->clasa;
            cout<<"Greutatea =";
            cin>>c->kg;
            cout<<"Nota la matematica=";
            cin>>c->nm;
            ultim=c;
            ultim->next=0;
        }
    }
    
    void listare()
    {
        c=prim;
        while(c!=0)
        {
            cout<<"Varsta este "<<c->v;
            cout<<"Numele este "<<c->nume;
            cout<<"Prenumele este "<<c->prenume;
            cout<<"Clasa este "<<c->clasa;
            cout<<"Greutatea este =" <<c->kg;
            cout<<"Nota la matematica =";<<c->nm;
            c=c->next;
        }
        cout>>endl;
    }

    int  ordonare()
    {
         Nod *c;
         int ord,aux;
         do
            {
            c=prim;
          ord=1;
          while(c->next)
             {if(c->v > c->next->v)
                        {aux=c->v;
                        c->v=c->next->v;
                        c->next->v=aux;
                        ord=0;
                        }
              c=c->next;}
     }while(ord==0);
    }

int nr_legatura()
{
    while (c!=0)
    {
        if(c->v < c->next->v)
              r=c->v;
            }
    return r;
}

void gasire_n(int y)
{
    while(c!=0)
    {
        if(c->v!=y)
        {    cout<<" Numele elevului cu varst acea mai mica este="<<c->nume;
            cout<<"Prenumele elvului cu varst acea mai mica este="<<c->prenume;}
    }
}
void varste_impare();
{
    c=prim;
    if(c==NULL)
        {
        cout<<" numelevului cu varsta impara este="<<c->nume;
        cout<<"prenumele elevului cu varta impara este="<<c->prenume;
           c->next=o;
            ultim=c;
         

        }
    else
    {if(c->v!=1)
    {
        cout<<" numelevului cu varsta impara este="<<c->nume;
        cout<<"prenumele elevului cu varta impara este="<<c->prenume;
    }
        ultim=c;
        ultim->next=0;}
}

int main()
{ int n,i, z;
 cout<<"n=";
 cin>>n;
for(i=1;i<=n;i++)
{
    creere_aduagare();
   }
 z=nr_legatura();
 gasire_n(z);
 varste_impare();



}

miercuri, 26 februarie 2014

Liste

Problemă listare cu  ordonarea elementelor și afișarea de informații.


#include <iostream>
#include <string.h>
using namespace std;

struct Nod
      {int v,kg;
       char nume[10],prenume[10], clasa[5];
       Nod*next;
       };
Nod *prim, *a,*c,*ultim;
void creare_adaugare()
    {   if(prim==NULL)
      {prim=new Nod;
        cout<<"Clasa elevului este ";
        cin>>prim->clasa;
       cout<<"Numele elevului este :";
       cin>>prim->nume;
       cout<<"Prenumele elevului este :";
       cin>>prim->prenume;
       cout<<"Greutatea elevului este de :";
       cin>>prim->kg;
       cout<<"Varsta in ani ";
       cin>>prim->v;
       prim->next=0;
       ultim=prim;
       }
     else
       {Nod*c;
      c=new Nod;
      cout<<"Clasa elevului este ";
        cin>>prim->clasa;
       cout<<"Numele elevului este :";
       cin>>prim->nume;
       cout<<"Prenumele elevului este :";
       cin>>prim->prenume;
       cout<<"Greutatea elevului este de :" ;
       cin>>prim->kg;
       cout<<"Varsta in ani ";
       cin>>prim->v;
      ultim->next=c;
      ultim=c;
      ultim->next=0;
       }
    }
void ordonare()
  {Nod *c;
  int ord,aux;
     do
     {c=prim;
      ord=1;
      while(c->next)
             {if(c->v <c->next->v)
                        {aux=c->v;
                        c->v=c->next->v;
                        c->next->v=aux;
                        ord=0;
                        }
              c=c->next;}
      }
    while(ord==0);
  }
void listare()
   {
    c=prim;
    while(c!=0)
      {cout<<c->clasa<<"  ";
       cout<<c->nume<<"  ";
      cout<<c->prenume<<"  ";
      cout<<c->kg<<"  ";
      cout<<c->v<<"  ";
       c=c->next;


       }
    cout<<endl;
       }

int main()
{   int n , i ;
    cout<<"cati elevi are scoala ";cin>>n;
    cout<<" Elevii scolii sunt :"<<endl;
  for(i=1;i<=n;i++)
       creare_adaugare();
  listare();
  cout<<"Elevii ordonati dupa varsta sunt:";
   ordonare();
   listare();

  return 0;
}

marți, 26 noiembrie 2013

Eliminarea coloanei unei matrice


#include <iostream>

using namespace std;
int i,j,n,a[10][10],c;

void citire()
{
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            {cout<<"a["<<i<<"]["<<j<<"]=";
             cin>>a[i][j];
            }

}
void coloana()
{
  cout<<"Coloana pe care trebuie s-o elimin=";cin>>c;
  for(i=1;i<=n;i++)
     {for(j=1;j<=n;j++)
         if(j!=c)
             cout<<a[i][j];
       cout<<"\n";}
}

int main()
{
    cout<<"Numarul de linii si coloane este=";cin>>n;
    citire();
    coloana();

    return 0;
}

Suma a doua matrice

Suma  matricilor

Sum of matrix


        #include <iostream>

        using namespace std;
        int i,j,n,a[10][10];
        float b[10][10];
        void citire()
        {
    |    for(i=1;i<=n;i++)
    |        for(j=1;j<=n;j++)
    |            {
    ||             cout<<"a["<<i<<"]["<<j<<"]=";
    ||             cin>>a[i][j];
    |            }
    }

        void matb()
        {
    |    for(i=1;i<=n;i++)
    |        for(j=1;j<=n;j++)
    |            b[i][j]=(a[i][j]+a[j][i])/2;
        }

        void afisare()
        {
    |    for(i=1;i<=n;i++)
    |        {
    ||            for(j=1;j<=n;j++)
    ||            cout<<b[i][j];
    ||            cout<<"\n";
    |        }
        }
        int main()
        {
    |    cout<<"Numarul de linii si coloane este=";cin>>n;
    |    citire();
    |    matb();
    |    afisare();
    |
    |    return 0;
        }

vineri, 22 noiembrie 2013

Valoarea minima si maxima din matrice

Min and Max element of the matrix


    #include <iostream>

    using namespace std;
    int n,m,i,j;
    float a[10][10];
    void citire()
        {
    |    for(i=1;i<=n;i++)
    |        for(j=1;j<=m;j++)
    |    {
    ||        cout<<"a["<<i<<"]["<<j<<"]=";
    ||       cin>>a[i][j];
    |    }
        }
    
        void compare()
       {
    |    float min,max;
    |    min=a[1][1];
    |    max=a[1][1];
    |    for(i=1;i<=n;i++)
    |        for(j=1;j<=m;j++)
    |       {
    ||        if(min>a[i][j])
    ||            min=a[i][j];
    ||        if(max<a[i][j])
    ||           max=a[i][j];
    |       }
    |    
    |    cout<<"Valoarea maxima este="<<max<<endl;
    |    cout<<"Valoarea minima este="<<min<<endl;
       }
    
       int main()
    |    {
    |    cout<<"Numarul de linii  este ";cin>>n;
    |    cout<<"Numarul de coloane este ";cin>>m;
    |    citire();
    |    compar();
    |
    |    return 0;
        }

miercuri, 20 noiembrie 2013

Elementele matricei pe coloana principala si secundara 0

Se dă o matrice pătratică A. Să se înlocuiască elementele sale situate pe diagonala principală şi pe diagonala secundară cu valoarea 0 (zero).

Rezultatele traducerii

    #include <iostream>
    using namespace std;
    int i,j,n,a[10][10];

   void citire()
   {
|     for(i=1;i<=n;i++)
|       for(j=1;j<=n;j++)
     {
| |       cout<<"a["<<i<<"]["<<j<<"]=";
| |       cin>>a[i][j];    
     }
   }

    void diag_princ_si_sec()
   {
|       for(i=1;i<=n;i++)
|           for(j=1;j<=n;j++)
|
         {
||           if(i==j)
||               a[i][j]=0;
||           if(i+j==n+1)
||               a[i][j]=0;
|
          }
  }

    void afisare()
 
   {
 |      for(i=1;i<=n;i++)
 |
     {
 ||      for(j=1;j<=n;j++)
 ||
        { 
 |||        cout<<a[i][j];
 |||        cout<<"\n";
 ||       }
 |      }
   }

   int main()
 
 {
 |  cout<<"Nr. de linii si coloane este=";
 |  cin>>n;
 |  citire();
 |  diag_princ_si_sec();
 |  afisare();
 
 }

Minimul fiecarei coloane din matrice

//Se dă un tablou bidimensional B cu n linii şi m coloane de componente întregi. Să se determine minimul fiecărei coloane şi minimul lui B. //


#include <iostream>

using namespace std;
int i,j,m,n,a[10][10];
void citire()
{
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            {cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];}
}
void min_coloana()
    {
       int minc,b;

       cout<<"Numarul coloanei de pe care sa calculez minimul este =";cin>>b;
       if(b<=i)
            {for(j=1;j<=m;j++)
                 if(a[b][j]<minc)
                     minc=a[b][j];
       cout<<"Elementele de pe coloana "<<b<<" este="<<minc<<endl;}
       else
          cout<<"Nu ai tastat un numar valid";
    }
 void min_matrice()
  {
      int min;
      min=a[1][1];
      for(i=1;i<=n;i++)
         for(j=1;j<=m;j++)
           if(min>a[i][j])
                min=a[i][j];
      cout<<"Elementul minim din matricea a este ="<<min;
  }

int main()
{
    cout<<"Numarul de linii este =";cin>>n;
     cout<<"Numatrul de coloane este =";cin>>m;
     citire();
     min_coloana();
     min_matrice();
}

vineri, 15 noiembrie 2013

Matrice formata din multiplii lui 2

#include <iostream>

using namespace std;
int i,j,n,a[10][10],q;
int main()
{
    int a[10][10],i,j,n;
    q=1;
    cout<<"Numarul de linii si coloane este =";cin>>n;
    for(i=1; i<=n; i++)
   {for(j=1; j<=n; j++)
         {cout<<q*2<<" ";
          q=q+1;}
          cout<<endl;}
  return 0;


}

Sa dispara coloana m

#include <iostream>using namespace std;int i,j,n,a[10][10];void citire(int n){    for(i=1;i<=n;i++)    {        for(j=1;j<=n;j++)          {cout<<"a["<<i<<"]["<<j<<"]=";           cin>>a[i][j];}    }}void coloana(int n){    int m;    cout<<"Numarul coloanei este =";cin>>m;    cout<<"Matricea fara coloana "<<m<<" este "<<endl;    for(i=1;i<=n;i++)       {        for(j=1;j<=n;j++)            if(j!=m)               cout<<a[i][j]<<" ";         cout<<endl;}}int main(){    cout<<"Numarul de linii si coloane este=";cin>>n;    citire(n);    coloana(n);
    return 0;}

Matrice patratica , element de diag==0

#include <iostream>

using namespace std;
int i,j,n,a[10][10];
void citire(int n)
{
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
          {cout<<"a["<<i<<"]["<<j<<"]=";
           cin>>a[i][j];}
    }
}
void ediagsec (int n)
{
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
           if(i+j==n+1)
              if(a[i][j]==0)
                 cout<<"a["<<i<<"]["<<j<<"] ";

}

int main()
{
    cout<<"Numarul de linii si coloane este=";cin>>n;
    citire(n);
    cout<<"Elementele de pe diag sec egale cu 0 sunt :";
    ediagsec(n);
    return 0;
}

Pointeri

  Prezentare generală  Un pointer este o variabilă care are ca valoare  o adresă din memoria internă a calculatorului  , această adresă ap...