Documente Academic
Documente Profesional
Documente Cultură
TEMA: Tablouri.
1. TABLOURI
Numim tablou o colecţie (grup, mulţime ordonată) de date, de acelaşi tip, situate într-o zonă de
memorie continuă (elementele tabloului se află la adrese succesive). În funcţie de numărul
indicilor utilizaţi pentru a referi elementele tabloului, putem întâlni tablouri unidimensionale
(vectorii) sau multidimensionale (matricile sunt tablouri bidimensionale).
Modul de declarare:
<tip> <nume_tablou>[<dim_1>][[<dim_2>],…[<dim_n>]];
unde:
tip reprezintă tipul elementelor tabloului;
dim_1, dim_2,...,dim_n sunt numere întregi sau expresii constante întregi (a
căror valoare este evaluată la compilare), reprezentând limitele superioare (valorile
maxime posibile) ale indicilor tabloului.
2. ȘIRURI DE CARACTERE
Şirurile de caractere sunt vectori de caractere, care au ca ultim element un terminator de şir,
caracterul null (zero ASCII), ’\0’.
1
REFERAT DE LABORATOR Nr.6
ALGORITM Bubble_Sort
INCEPUT
gata false
CIT TIMP not gata REPETA
INCEPUT
gata true
PENTRU i=0 LA n-2 REPETA
INCEPUT
DACA vect[i] > vect[i+1] ATUNCI
` INCEPUT
aux vect[i]
vect[i] vect[i+1]
vect[i+1] aux
gata fals
SFARSIT
SFARSIT
SFARSIT
SFARSIT
#define FALSE 0
#define TRUE 1
#include <iostream>
using namespace std;
int main()
{
double vect[100];
int n; //n-numarul de elemente ale vectorului
cout<<"Nr. elemente";
cin>>n;
double aux;
2
REFERAT DE LABORATOR Nr.6
//interschimbarea elementelor
for (int i=0; i<n/2; i++)
{
aux=vect[i];
vect[i]=vect[n-1-i];
vect[n-1-i]=aux;
}
//afişarea vectorului
cout<<"\n\nVectorul cu elementele interschimbate\n";
for (int i=0; i<n; i++)
cout<<vect[i]<<'\t';
//afişarea vectorului
cout<<"\n\nVectorul cu elementele ordonate crescator\n";
for (int i=0; i<n; i++)
cout<<vect[i]<<'\t';
}
3
REFERAT DE LABORATOR Nr.6
#include <iostream>
using namespace std;
int main()
{
int A[10][10];
int nr_lin, nr_col;
cout<<"Nr.linii:";
cin>>nr_lin;
cout<<"Nr. coloane:";
cin>>nr_col;
cin>>A[i][j];
//citirea valorii elementului de indici i și j
}
cout<<"\n\nAfisarea matricii:\n";
for (int i=0; i<nr_lin; i++)
{
for (int j=0; j<nr_col; j++)
cout<<A[i][j]<<'\t';
//afişarea elementelor unei linii, separate de un tabulator orizontal
cout<<'\n';
//după afişarea elementelor unei linii, se trece pe linia următoare
}
}
4
REFERAT DE LABORATOR Nr.6
#include <iostream>
using namespace std;
int main()
{
int A[10][10];
int m, n;
cout<<"m=";
cin>>m;
cout<<"n=";
cin>>n;
cout<<"\n\nMatricea A:\n";
for (int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
cout<<A[i][j]<<'\t';
cout<<'\n';
}
5
REFERAT DE LABORATOR Nr.6
#include <iostream>
using namespace std;
int main()
{
int A[10][10], At[10][10];
//matricea A[mxn] si transpusa At[nxm]
int m, n;
cout<<"m=";
cin>>m;
cout<<"n=";
cin>>n;
cout<<"\n\nMatricea A:\n";
for (int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
cout<<A[i][j]<<'\t';
cout<<'\n';
}
//calculul transpusei
for (int i=0; i<m; i++)
for (int j=0; j<n; j++)
At[j][i] = A[i][j];
cout<<"\n\nMatricea A transpusa:\n";
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
cout<<At[i][j]<<'\t';
cout<<'\n';
}
}
6
REFERAT DE LABORATOR Nr.6
#include <iostream>
using namespace std;
int main()
{
int A[10][10], C[10][10], SUM[10][10];
//Matricile A[mxn], C[mxn] si suma lor SUM[mxn]
int m, n;
cout<<"m=";
cin>>m;
cout<<"n=";
cin>>n;
cout<<"\n\nMatricea A:\n";
for (int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
cout<<A[i][j]<<'\t';
cout<<'\n';
}
cout<<"\n\nMatricea C:\n";
for (int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
cout<<C[i][j]<<'\t';
cout<<'\n';
}
7
REFERAT DE LABORATOR Nr.6
#include <iostream>
using namespace std;
int main()
{
int A[10][10], B[10][10], PROD[10][10];
//matricea A[mxn], matricea B[nxp] si produsul lor PROD[mxp]
int m, n;
cout<<"m=";
cin>>m;
cout<<"n=";
cin>>n;
cout<<"p=";
cin>>p;
cout<<"\n\nMatricea A:\n";
for (int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
cout<<A[i][j]<<'\t';
cout<<'\n';
}
cout<<"\n\nMatricea B:\n";
for (int i=0; i<n; i++)
{
for (int j=0; j<p; j++)
cout<<B[i][j]<<'\t';
cout<<'\n';
8
REFERAT DE LABORATOR Nr.6
9
REFERAT DE LABORATOR Nr.6
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char str1[20]="hello";
char str2[20]="goodbye";
char str3[20]="";
int difer, lungime;
lungime = strlen(str1);
cout<<"\nLungimea sirului str1: "<<lungime;
lungime = strlen(str2);
cout<<"\nLungimea sirului str2: "<<lungime;
lungime = strlen(str3);
cout<<"\nLungimea sirului str3: "<<lungime<<"\n\n";
difer=strcmp(str1, str2);
if (difer == 0)
cout<<"Siruri echivalente!\n";
else if (difer>0)
cout<<str1<<" mai mare (lexicografic) decat "<<str2<<'\n';
else
cout<<str1<<" mai mic (lexicografic) decat "<<str2<<'\n';
10
REFERAT DE LABORATOR Nr.6
11
REFERAT DE LABORATOR Nr.6
12