Informatică · Matematică · Proiecte automatizare — materiale pentru liceu
Teme1InfoInformatică · Matematică · Automatizări
Informatică · C++ · Matematică

Lecții clare, cod care se citește.

Teorie pe scurt și programe C++ complete, colorate și gata de copiat — de la primii algoritmi până la subiectele de bacalaureat.

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;
 |★    }
★    }
Deschide lecția →

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();
   ★    }
Deschide lecția →

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();



}

Deschide lecția →

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;
}
Deschide lecția →

Maxim Suma

Sa se afișeze suma elementelor matricei  de pe  o coloana aleasa și valoarea maxima de pe o coloana aleasă.
Dispaly: the amount of matrix elements and the maximum values of the  selected column .


#include <iostream>

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

        maxc=a[1][j]; for(i=1;i<=n;i++)


       if (maxc<a[i][j])
           maxc=a[i][j];
      }
       return maxc;}
int sumac(int x[10][10])
{  int sc;
    for(j=1;j<=n;j++)
      {

       sc=a[1][j];
        for(i=1;i<=n;i++)

          sc=sc+a[i][j];

       }
       return sc;}
 void afisare(int x[10][10])
{
for(i=1;i<=n;i++)
{
 for(j=1;j<=n;j++)
 cout<<a[i][j]<<" ";
 cout<<"\n";
 }
}

void inlocuire(int x[10][10])
{
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            {
            if(a[i][j]==maximc(a))
                a[i][j]=sumac(a);
            }

}
void afisareb(int x[10][10])
{
    for(i=1;i<=n;i++)
      {
        for(j=1;j<=n;j++)
          cout<<a[i][j];
        cout<<"\n";}
}

int main()
{cout<<"Numarul de linii si coloane este =";cin>>n;
citire(a);afisare(a);
 cout<<"Valoarea sumei de pe coloana "<<j<<" este "<<sumac(a)<<endl;
 cout<<"Valoarea max de pe coloana "<<j<<" este "<<maximc(a)<<endl;
inlocuire(a);
afisare(a);


    return 0;
}


Deschide lecția →

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;
}

Deschide lecția →

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;
    ★    }

Deschide lecția →

Totalul afișărilor de pagină

Un produs Blogger.

Faceți căutări pe acest blog

Pointeri

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

Postări populare