Scrieţi definiția completă a subprogramului C++ ordonare care are 2 parametri: a, prin care primeşte un tablou unidimensional cu maximum 1000 de numere naturale mai mici decât 1.000.000.000 și n, numărul efectiv de elemente ale tabloului.
Subprogramul ordonează crescător elementele tabloului a, fără a returna valori.
Restricţii şi precizări
0 < n <= 1000
numele subprogramului cerut este ordonare
parametrii sunt, în această ordine: a, n
elementele tabloului a sunt indexate de la zero
Exemplu
Dacă n=6 și a=(63,273,9,83,93,123), după apelul subprogramului tabloul a devine (9,63,83,93,123,273).
Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
using namespace std;
int v[1000];
void ordonare(int v[1000], int n)
{
int i, j, aux;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j]){
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
}
int main()
{
int i, n, v[1000];
cout<<"n=";cin>>n;
for(i=1;i<=n;i++){
cout<<"v["<<i<<"]=";
cin>>v[i];
}
ordonare(v, n);
for(i=1;i<=n;i++) cout<<v[i]<<" ";
}
using namespace std;
int v[1000];
void ordonare(int v[1000], int n)
{
int i, j, aux;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j]){
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
}
int main()
{
int i, n, v[1000];
cout<<"n=";cin>>n;
for(i=1;i<=n;i++){
cout<<"v["<<i<<"]=";
cin>>v[i];
}
ordonare(v, n);
for(i=1;i<=n;i++) cout<<v[i]<<" ";
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Chimie,
9 ani în urmă