Estou com problema no meu código. Defini os vetores A e B com o tamanho 3 (e está funcionando assim), mas quando eu mudo o tamanho dos vetores, para 5 por exemplo, o vetor resultante C carrega números aleatórios (conforme abaixo). Agradeço quem puder ajudar.
Segue o código.
#include<stdio.h>
#include <stdlib.h>
void OrdenaSelecao (int tam, int *vetorC)
{
int minimo, i, j;
int aux;
for (i=0; i<tam; i++)
{
minimo = i;
// pega indice do menor
for (j=i+1; j<tam; j++)
{
if ( vetorC[j] < vetorC[minimo])
{
minimo = j;
}
}
// efetua a troca
aux = vetorC[minimo];
vetorC[minimo] = vetorC[i];
vetorC[i] = aux;
}
}
int main(void)
{
int i;
int vetorA[3];
printf("Digite os elementos do vetor A:\n");
for(i = 0; i < 3; i++)
{
printf("Elemento %d:\n",i+1);
scanf("%d",&vetorA[i]);
}
printf("Vetor A:\n[ ");
for(i = 0; i < 3; i++)
{
printf("%d ",vetorA[i]);
}
printf("]\n");
int vetorB[3];
printf("Digite os elementos do vetor B:\n");
for(i = 0; i < 3; i++)
{
printf("Elemento %d:\n",i+1);
scanf("%d",&vetorB[i]);
}
printf("Vetor B:\n[ ");
for (i= 0; i < 3; i++)
{
printf("%d ",vetorB[i]);
}
printf("]\n");
int vetorC[6];
for(i = 0; i < 6; i++)
{
vetorC[i] = vetorA[i];
vetorC[i+2] = vetorB[i];
}
printf("Vetor C (A+B):\n[ ");
for(i = 0; i < 6; i++)
{
printf("%d ",vetorC[i]);
}
printf("]\n");
printf("Vetor C (ordenado):\n[ ");
OrdenaSelecao(6, vetorC);
for(int i=0; i<6; i++)
printf("%d ", vetorC[i]);
printf("]\n");
return 0;
}