Răspuns :
Răspuns:
#include <iostream>
#include <cstdlib>
using namespace std;
int v[10001] ;
int n ;
void GenerareNumere()
{
int i, k;
//srand(time(0)) ;
cout<<" n = " ;
cin>>n ;
for (i=0 ; i<n ; i++)
{
k = 1 + rand() % 1000 ; // generare numar intre 1 si 1000
v[i] = k ;
}
}
void AfisareVector()
{
int i ;
for (i=0; i<n ; i++)
cout<<v[i]<<" " ;
}
void inversare(int tablou[])
{
int temp, i=0, j=n-1;
while (i<j)
{
temp=tablou[i];
tablou[i]=tablou[j];
tablou[j]=temp;
++i;
--j;
}
}
int main()
{
GenerareNumere() ;
cout<<"\n\n Vectorul initial :\n " ;
AfisareVector() ;
inversare(v);
cout<<"\n\n Vectorul dupa inversare :\n " ;
AfisareVector() ;
return 0 ;
}
Explicație:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void initializare(int vec[], int n){
srand(time(NULL)); // pentru numere aleatoare diferite la fiecare rulare a functiei, (maxim un apel pe secunda, daca se fac mai multe de atat numerele returnate de rand() vor fi egale)
for(int i = 0; i<n; i++){
vec[i] = rand()%1000+1; // rand()%1000 -> [0, 999], rand()%1000+1 -> [1,1000]
}
}
void Inversare(int tablou[], int size){
register int temp;
for(int i = 0, j = size - 1; i < j; i++, j--){
temp = tablou[i];
tablou[i] = tablou[j];
tablou[j] = temp;
}
}
//afisare() nu e necesar, aici, l-am folosit doar pentru a testa
void afisare(int vec[], int n){
for(int i = 0; i < n; i++)
cout << vec[i] << ' ';
cout << endl;
}
int vec[1000], n;
// test cu 10 numere
int main(){
n = 10;
initializare(vec, n);
afisare(vec,n);
Inversare(vec, n);
afisare(vec,n);
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!