Sunteți pe pagina 1din 5

vectori

Tablouri unidimensionale
prima problema
Problema 1. Se considera un vector x cu n numere reale. Sa se calculeze produsul
elementelor.
Problema 2. Se citeste un tablou unidimensional cu n (1<=n<=100) componente numere
naturale. Se cere sa se calculeze si sa se afiseze suma elementelor din vector care sunt
divizibile cu o valoare naturala data a.
Problema 3. Se da un tablou unidimensional cu n (1<=n<=100) componente numere
naturale. Sa se verifice daca componentele sunt in ordine crescatoare de la stanga la
dreapta, si in sa se afiseze un mesaj corespunzator.
Problema 4. Se citeste un tablou unidimensional cu n (1<=n<=100) componente numere
naturale Se cere sa se construiasca si sa se afiseze un nou vector cu componentele patrate
perfecte ale vectorului initial.
Problema 5. Sa se scrie un program C++ care sa realizeze inversarea unui vector :
a) in acelasi vector si fara a utiliza un vector suplimentar
b) intr-un alt vector.

Problema 1
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
double x[100], p;
int n, i;
clrscr();
cout<<Dati numarul elementele ale tabloului n = ;cin>>n;
cout<<Dati elementele tabloului<
for(i = 1; i <= n; i++)
{
cout<<x["<<<"]=; cin>>x[i];
}

getch();
cout<<<Vectorul initial este <
for(i = 1; i <= n; i++)
{
cout.width(6);
cout<
}
p = 1; // suma elementelor din vector
for(i = 1; i <= n; i++)
p = p * x[i];
cout<<<Produsul elementelor este = <<
cout<<<<<Apasati tasta ENTER pentru terminarea programului;
getch();
}

Problema 2
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
unsigned int x[100], a, n, i, s;
clrscr();
cout<<Dati numarul elementele ale tabloului n = ;cin>>n;
cout<<Dati elementele tabloului<
for(i = 1; i <= n; i++)
{
cout<<x["<<<"]=; cin>>x[i];
}
cout<<Dati valoarea a = ;;cin>>a;
getch();
s = 0; // suma elementelor care indeplinesc cerinta problemei
for(i = 1; i <= n; i++)
if(x[i] % a == 0)
s = s + x[i];
cout<<Suma elementelor din vector divizibile cu <<< este = <<
cout<<<<<Apasati tasta ENTER pentru terminarea programului;
getch();
}

Problema 3
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
unsigned int x[100], n, i, ordine;
clrscr();
cout<<Dati numarul elementele ale tabloului n = ;cin>>n;
cout<<Dati elementele tabloului<
for(i = 1; i <= n; i++)
{
cout<<x["<<<"]=; cin>>x[i];
}
getch();
ordine = 1; // presupunem ca elemente din vector sunt in ordine crescatoare
for(i = 1; i <= n-1; i++) if(x[i] > x[i+1])
ordine = 0;
if(ordine == 1)
{
cout<<Elementele sunt in ordine crescatoare de la stanga la dreapta : <
for(i = 1; i <= n; i++)
{
cout.width(6);
cout<
}
}
else
cout<<Elementele NU sunt in ordine crescatoare de la stanga la dreapta ! ;
cout<<<<<Apasati tasta ENTER pentru terminarea programului;
getch();
}

Problema 4
#include
#include
#include
void main(void)
{
// declaram variabilele pe care le vom utiliza in program

unsigned int x[100], y[100], n, i, j;


clrscr();
cout<<Dati numarul elementele ale tabloului n = ;cin>>n;
cout<<Dati elementele tabloului<
for(i = 1; i <= n; i++)
{
cout<<x["<<<"]=; cin>>x[i];
}
getch();
j = 0; // numarul de elemente din noul vector
for(i = 1; i <= n; i++)
{
if(sqrt(x[i]) == int(sqrt(x[i])))
{
j++;
y[j] = x[i];
}
}
cout<<Elementele patrate perfecte sunt : <
for(i = 1; i <= j; i++)
{
cout.width(6);
cout<
}
cout<<<<<Apasati tasta ENTER pentru terminarea programului;
getch();
}

Problema 5
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
unsigned int x[100], y[100], n, i, j, aux;
clrscr();
cout<<Dati numarul elementele ale tabloului n = ;cin>>n;
cout<<Dati elementele tabloului<
for(i = 1; i <= n; i++)
{
cout<<x["<<<"]=; cin>>x[i];
y[i]=x[i];

}
getch();
cout<<<Punctul a ) <
cout<<<Elementele vectorului inainte de inversare sunt : <
for(i = 1; i <= n; i++)
{
cout.width(6);
cout<
}
for(i = 1; i <= n/2; i++)
{
aux = x[i];
x[i] = x[n-i+1];
x[n-i+1]=aux;
}
cout<<<Elementele vectorului dupa inversare sunt : <
for(i = 1; i <= n; i++)
{
cout.width(6);
cout<
}
for(i = 1; i <= n; i++) x[i]=y[i]; //revenim la vectorul neinversat
cout<<<Punctul b ) <
cout<<<Elementele vectorului inainte de inversare sunt : <
for(i = 1; i <= n; i++)
{
cout.width(6);
cout<
}
for(i = 1; i <= n; i++)
y[i] = x[n-i+1];
cout<<<Elementele vectorului dupa inversare sunt : <
for(i = 1; i <= n; i++)
{
cout.width(6);
cout<
}
cout<<<<<Apasati tasta ENTER pentru terminarea programului;
getch();
}

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