Buonasera ragazzi!
Ho bisogno di un aiutino con questo esercizio:
Leggere in input una sequenza A di n numeri interi. Si supponga che la sequenza letta in input sia già ordinata in ordine crescente. Generare in modo casuale una seconda sequenza B di m numeri interi ed inserire gli elementi della seconda sequenza B nella posizione corretta nella prima sequenza A in modo che A continui ad essere ordinato.
Stampare in output la sequenza A
/*
============================================================================
Name : Esercizio19Dicembre.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
//caricamento del primo vettore
int elementi;
int i;
printf("Quanti numeri vuoi inserire? \n");
scanf("%d", &elementi);
int vetA[elementi];
i=0;
while (i<elementi)
{
printf("inserisci il %d elemento del vettore \n", i);
scanf("%d", &vetA[i]);
i++;
}
//ordinamento crescente valori inseriti
i=0;
int j;
int tmp;
i=0;
while(i<elementi)
{
j=i+1;
while(j<elementi)
{
if(vetA[i]>vetA[j])
{
tmp=vetA[i];
vetA[i]=vetA[j];
vetA[j]=tmp;
}
j++;
}
i++;
}
//stampa
i=0;
printf("il vettore inserito e': \n");
while(i<elementi)
{
printf("| %d |", vetA[i]);
i++;
}
printf("\n");
//generare sequenza random
int elementi2;
printf("Quanti numeri vuoi inserire? \n");
scanf("%d", &elementi2);
srand((unsigned)time(NULL));
int vetB[elementi2];
i=0;
while(i<elementi2)
{
vetB[i]=rand()%100;
i++;
}
//stampa2
i=0;
printf("il vettore inserito e': \n");
while(i<elementi2)
{
printf("| %d |", vetB[i]);
i++;
}
printf("\n");
//inserimento dati random in vet1
i=0;
while(i<elementi2)
{
j=0;
while(j>=0 && vetA[i]>vetB[j])
{
vetA[i+1]=vetB[i];
j--;
}
vetA[i+1]=vetB[j];
i++;
}
//stampa3
i=0;
printf("il vettore finale e': \n");
while(i<elementi)
{
j=0;
while(j<elementi2)
{
printf("| %d |", vetA[i+j]);
j++;
}
i++;
}
printf("\n");
system("pause");
return 0;
}
Il problema sta nell'ultima stampa ovvero quella del vettore completo di elementi iniziali dati in input più elementi generati random.
Grazie in anticipo.