rendered paste body#include <stdio.h>
#include <stdlib.h>
#define N 50
int carica(int v[N]){
int dim,i;
do{
printf("\nDigita dimensione logica del vettore:\t");
scanf("%d",&dim);}
while(dim < 0 || dim > 50);
for(i=0;i<dim;i++){
printf("\nV[%d]:\t",i+1);
scanf("%d",*(v+i));
}
return dim;
}
void stampa(int v[N],int dim){
int i;
for(i=0;i<dim;i++)
printf("V[%d]: %d\n",i+1,*(v+i));
}
void ordina(int v[N],int dim){
int i,j,tmp,flag;
i=0;
do{
flag=0;
for(j=dim-1;j>i;j--)
if(*(v+j) < *(v+j-1))
{tmp = *(v+j);
*(v+j) = *(v+j-1);
*(v+j-1) = tmp;
flag = 1;}
i++;}
while(flag!=0 && i<dim-1);
}
void unione(int v[N], int v2[N],int v3[N],int n,int n2){
int i;
for(i=0;i<n;i++)
*(v3+i) = *(v+i);
for(i=0;i<n2;i++){
*(v3+n) = *(v2+i);
n++;}
}
int main(){
int v[N],v2[N],v3[N],n,n2;
printf("\t:::CARICAMENTO PRIMO VETTORE:::\n");
n = carica(v);
printf("\t:::CARICAMENTO SECONDO VETTORE:::\n");
n2 = carica(v2);
printf("\t:::STAMPA PRIMO VETTORE:::\n");
stampa(v,n);
printf("\t:::STAMPA SECONDO VETTORE:::\n");
stampa(v2,n2);
printf("\t:::ORDINAMENTO PRIMO VETTORE:::\n");
ordina(v,n);
printf("\t:::ORDINAMENTO SECONDO VETTORE:::\n");
ordina(v2,n2);
printf("\t:::STAMPA PRIMO VETTORE ORDINATO:::\n");
stampa(v,n);
printf("\t:::STAMPA SECONDO VETTORE ORDINATO:::\n");
stampa(v2,n2);
printf("\t:::CREAZIONE TERZO VETTORE:::\n");
unione(v,v2,v3,n,n2);
printf("\t:::STAMPA TERZO VETTORE:::\n");
stampa(v3,n+n2);
printf("\t:::ORDINAMENTO TERZO VETTORE:::\n");
ordina(v3,n+n2);
printf("\t:::STAMPA TERZO VETTORE ORDINATO:::\n");
stampa(v3,n+n2);
system("pause");
}