Sunteți pe pagina 1din 7

Vectori

Un vector este un sir de elemente.


Exemplu: a=(1,2,3,4,5,6)

Vecotrul a are lungimea 6. Prima pozitie intr-un vector este intotdeauna 0.

Declarare vector:

<tip de date>[] <nume vector> = new <tip de date>[lungime_vector>;

Exemplu: int[] a = new int[50];

Citirea de la tastatura a vectorului se face element cu element:

for(i=0;i<n;i++)
{
Console.Write(“a[{0}]=”,i);
a[i]=int.Parse(Console.ReadLine());
}

Afisarea pe ecran a unui vector se face element cu element:

for(i=0;i<n;i++)
Console.Write(“{0} “,a[i]);

Exercitii:
1. Se citeste de la tastatura un vector de n componente. Sa se afiseze maximul din vector.
2. Se citeste de la tastatura un vector de n componente. Sa se sorteze crescator.
3. Se citesc de la tastatura 2 vectori de n si m componente. Sa se calculeze reuniunea celor
2 vectori.
4. Se citesc de la tastatura 2 vectori de n si m componente. Sa se calculeze intersectia celor
2 vectori.

Matrici
O matrice este un tablou bidimensional (are linii si coloane)

Exemplu:

1 2 3
A=
4 5 6
Matricea A are 2 linii si 3 coloane

Declarare matrice: <tip de date> [,] a = new <tip de date>[nr linii, nr coloane];

Exemplu: int[,] a = new int[50,50];


Citirea de la tastatura a matricii se face element cu element:

for(i=0;i<n;i++)

for(j=0;j<m;j++)

Console.Write(“a[{0},{1}]=”,i,j);

a[I,j] = int.Parse(Console.ReadLine());

Afisarea matricii pe ecran se face element cu element:

for(i=0;i<n;i++)

for(j=0;j<m;j++)

Console.Write(“{0} “,a[I,j]);

Console.WriteLine();

O matrice patratica este o matrice care are numarul de linii egal cu numarul de coloane

Elementele de pe diagonala principala a unei matrici patratice au numarul liniei egal cu numarul
coloanei.

Elementele de deasupra diagonalei principala a unei matrici patratice au numarul liniei mai mic
decat numarul coloanei.

Elementele de sub diagonala principala a unei matrici patratice au numarul liniei mai mare decat
numarul coloanei.

Elementele de pe diagonala secundara a unei matrici patratice au suma liniei si a coloanei egala cu
numarul total de linii/coloane ale matricii minus 1.

Elementele de deasupra diagonalei secundare a unei matrici patratice au suma liniei si a coloanei
mai mica decat numarul total de linii/coloane ale matricii minus 1.

Elementele de pe diagonala principala a unei matrici patratice au suma liniei si a coloanei mai mare
decat numarul total de linii/coloane ale matricii minus 1.

Exercitiu: Se citeste de la tastatura o matrice patratica cu n linii si n coloane. Sa se calculeze suma


elementelor de pe diagonala principala si suma elementelor de pe diagonala secundara.
Rezolvare exercitii vector

Maximul din vector:


using System;

namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
int n,i,j;
int sum_dp, sum_ds;
sum_dp = 0;
sum_ds = 0;
Console.Write("n=");
n = int.Parse(Console.ReadLine());
int[,] a = new int[n, n];
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
Console.Write("a[{0},{1}]=", i, j);
a[i, j] = int.Parse(Console.ReadLine());
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j)
{
sum_dp = sum_dp + a[i, j];
}
if(i+j==n-1)
{
sum_ds = sum_ds + a[i, j];
}
}
}
Console.WriteLine("Suma elementelor de pe diagonala principala este {0}",
sum_dp);
Console.WriteLine("Suma elementelor de pe diagonala secundara este {0}",
sum_ds);

}
}
}

Sortare vector:

using System;

namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
int n,i,j,aux;
Console.Write("n=");
n = int.Parse(Console.ReadLine());
int[] a = new int[n];
for(i=0;i<n;i++)
{
Console.Write("a[{0}]=", i);
a[i] = int.Parse(Console.ReadLine());
}
for (i = 0; i < n - 1; i++)
{
for (j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
aux = a[i];
a[i] = a[j];
a[j] = aux;
}
}
}
for(i=0;i<n;i++)
{
Console.Write("{0} ", a[i]);
}
}
}
}

Reuniune 2 vectori:

using System;

namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
int n,m,i,k;
Console.Write("n=");
n = int.Parse(Console.ReadLine());
Console.Write("m=");
m = int.Parse(Console.ReadLine());
int[] a = new int[n];
int[] b = new int[m];
int[] c = new int[n + m];
for(i=0;i<n;i++)
{
Console.Write("a[{0}]=", i);
a[i] = int.Parse(Console.ReadLine());
}

for (i = 0; i < m; i++)


{
Console.Write("b[{0}]=", i);
b[i] = int.Parse(Console.ReadLine());
}
k = 0;
for(i=0;i<n;i++)
{
c[k] = a[i];
k = k + 1;
}
for(i=0;i<m;i++)
{
c[k] = b[i];
k = k + 1;
}
for(i=0;i<k;i++)
{
Console.Write("{0} ", c[i]);
}

}
}
}

Intersectie 2 vectori:

using System;

namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
int n,m,i,j,k,length;
Console.Write("n=");
n = int.Parse(Console.ReadLine());
Console.Write("m=");
m = int.Parse(Console.ReadLine());
int[] a = new int[n];
int[] b = new int[m];
if (n < m)
length = n;
else
length = m;
int[] c = new int[length];
for(i=0;i<n;i++)
{
Console.Write("a[{0}]=", i);
a[i] = int.Parse(Console.ReadLine());
}

for (i = 0; i < m; i++)


{
Console.Write("b[{0}]=", i);
b[i] = int.Parse(Console.ReadLine());
}
k = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(a[i]==b[j])
{
c[k] = a[i];
k = k + 1;
break;
}
}
}
for(i=0;i<k;i++)
{
Console.Write("{0} ", c[i]);
}

}
}
}

Rezolvare exercitiu matrici

using System;

namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
int n,i,j;
int sum_dp, sum_ds;
sum_dp = 0;
sum_ds = 0;
Console.Write("n=");
n = int.Parse(Console.ReadLine());
int[,] a = new int[n, n];
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
Console.Write("a[{0},{1}]=", i, j);
a[i, j] = int.Parse(Console.ReadLine());
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j)
{
sum_dp = sum_dp + a[i, j];
}
if(i+j==n-1)
{
sum_ds = sum_ds + a[i, j];
}
}
}
Console.WriteLine("Suma elementelor de pe diagonala principala este {0}",
sum_dp);
Console.WriteLine("Suma elementelor de pe diagonala secundara este {0}",
sum_ds);

}
}
}

S-ar putea să vă placă și