
Untitled
By: a guest on
Jun 21st, 2012 | syntax:
None | size: 1.75 KB | hits: 10 | expires: Never
/*Si sviluppi un programma in linguaggio C che riceva in ingresso
due vettori di interi, ciascuno di 10 elementi. Supponendo che i due
vettori siano inseriti già ordinati in modo crescente, il programma deve
creare e stampare un terzo vettore che rappresenti la “fusione” dei due
vettori acquisiti, ovvero che contenga tutti i 20 elementi ordinati tra loro
in modo crescente.*/
#include <stdio.h>
#include <stdlib.h>
main()
{
int vett1[10],vett2[10],vett3[20],i,j;
printf("Inserisci il primo vettore di 10 elmenti:\n");
for(i=0;i<10;i++)
scanf("%d",& vett1[i]);
printf("Inserisci il secondo vettore di 10 elmenti:\n");
for(i=0;i<10;i++)
scanf("%d",& vett2[i]);
for(i=0;i<10;i++)
vett3[i]=vett1[i];
for(i=10;i<20;i++)
vett3[i]=vett2[i-10]; //Qui va messo -10 perché il vettore 2 va da 0 a 10 mentre la i da 10 a 20
for(i=1;i<=20;i++)
{
for(i=1;i<20;i++) //Qui va da 1 a 19, non da 1 a 20 compreso la conta degli indici parte dallo zero compreso
{
if(vett3[i]<vett3[i-1]) //confronto il vettore corrente con quello precedente perché son partito da 1
{
j=vett3[i];
vett3[i]=vett3[i-1]; //Qui ho sistemato l'inversione dei due valori
vett3[i-1]=j;
}
}
}
printf("Valori ordinati: \n");
for(i=0;i<20;i++)
printf("%d\n",vett3[i]);
system("PAUSE");
}