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 .
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
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;
|★ }
|| 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)
|★ {
| 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<<"\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<<"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;
|★ }
|| c=c->next;
|★ }
★ }
void medie()
★ {
★ {
| c=prim;
| while(c!=0)
|★ {
| while(c!=0)
|★ {
|| cout<<c->nm<<endl;
|| c=c->next;
|★ }
|| c=c->next;
|★ }
★ }
int main()
★ {
★ {
| int i ,n;
| cout<<"n=";cin>>n;
| for(i=1;i<=n;i++)
| adaugare();
| cout<<"n=";cin>>n;
| for(i=1;i<=n;i++)
| adaugare();
|
| listare();
| testare();
| listare();
| medie();
| 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;
}
{
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
{
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();
}
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];
|★ }
|| 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;
★ }
| 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";
|| cout<<b[i][j];
|| cout<<"\n";
|★ }
★ }
int main()
★ {
★ {
| cout<<"Numarul de linii si coloane este=";cin>>n;
| citire();
| matb();
| afisare();
| citire();
| matb();
| afisare();
|
| return 0;
★ }
| 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++)
|★ {
| 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];
|| min=a[i][j];
|| if(max<a[i][j])
|| max=a[i][j];
|★ }
|
| cout<<"Valoarea maxima este="<<max<<endl;
| 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();
| cout<<"Numarul de linii este ";cin>>n;
| cout<<"Numarul de coloane este ";cin>>m;
| citire();
| compar();
|
| return 0;
★ }
| 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 afisare()
★ {
int main()
★ {
using namespace std;
int i,j,n,a[10][10];
void citire()
★ {
★ {
| for(i=1;i<=n;i++)
| for(j=1;j<=n;j++)
| ★ {
| for(j=1;j<=n;j++)
| ★ {
| | cout<<"a["<<i<<"]["<<j<<"]=";
| | cin>>a[i][j];
| | cin>>a[i][j];
| ★ }
★ }
void diag_princ_si_sec()
★ {
★ {
| for(i=1;i<=n;i++)
| for(j=1;j<=n;j++)
|★ {
| for(j=1;j<=n;j++)
|★ {
|| if(i==j)
|| a[i][j]=0;
|| if(i+j==n+1)
|| a[i][j]=0;
|★ }
|| 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";
||| cout<<"\n";
||★ }
|★ }
★ }
int main()
★ {
| cout<<"Nr. de linii si coloane este=";
| cin>>n;
| citire();
| diag_princ_si_sec();
| afisare();
★ }
| 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. //
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;
}
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;}
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;
}
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;
}
Abonați-vă la:
Postări (Atom)
Pointeri
Prezentare generală Un pointer este o variabilă care are ca valoare o adresă din memoria internă a calculatorului , această adresă ap...
-
Afisaza suma elementelor unui numar , numarul cifrelor si testeaza daca numarul este prim. #include <iostream> using namespace st...
-
1.Se citesc mai multe numere pana se tasteaza valoarea 0.Sa se afiseze dac a numerele sunt patrate perfecte .
-
Min and Max element of the matrix #include <iostream> using namespace std; int n,m,i,j; float a[10][10]; ...