faça um programa que receba 2 array cada um com 5 valores ,um array c sera formao pela uniao do array a com b ,por fim imprima os valores c em ordem crescente.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main() {
int i;
int j;
int va[5]={10,1,2,5,4},vb[5]={78,36,25,6,21},vc[10];
int t;
for(i=0;i<10;i++)
{for(j=i+1;j<10;j++)
if(va[i]>va[j])
t=va[i];
va[i]=va[j];
va[j]=t;}
for(i=0;i<5;i++){
for(j=0;j<5;j++)
printf( "%d\n",va[i]);
if(vb[i]>vb[j])
t=vb[i];
vb[i]=vb[j];
vb[j]=t;}
printf("vetor b\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++)
printf( "%d\n",vb[i]); }
for(i=0;i<5;i++)
return 0;
getch ();
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int vetorA[5] = {10, 2, 1, 5, 4};
int vetorB[5] = {78, 36, 25, 6, 21};
int vetorC[10];
// concatena o vetorA e vetorB no vetorC
for (int i = 0; i < 5; i++)
{
vetorC[i] = vetorA[i];
vetorC[i + 5] = vetorB[i];
}
// ordenacao do vetorC
for (int i = 0; i < 10; i++)
{
for (int x = i + 1; x < 10; x++)
{
if (vetorC[i] > vetorC[x])
{
int aux = vetorC[i];
vetorC[i] = vetorC[x];
vetorC[x] = aux;
}
}
// imprime o vetorC ao mesmo tempo que vai ordenando
printf("%d ", vetorC[i]);
}
return 0;
}
Neste algoritmo foi usado a linguagem C, pois tem funções que ajudam na junção dos arrays, onde é feita a leitura dos arrays, os valores podem ser substituídos e juntos em um terceiro, e feita a verificação enquanto houver elementos a serem lidos, sendo verificados por índices, depois eliminados os duplicados, já que é em ordem crescente, depois é feita a verificação do terceiro vetor, também por índices. Outra forma de resolver é, primeiro fazendo a leitura dos dois primeiros vetores e dentro de um BubbleSort, por exemplo, fazer a ordenação em um terceiro vetor e imprimi-lo. O algoritmo de Ordenção pode ser qualquer um, mas considerando que seu vetor será de tamanho pequeno, o BubbleSort resolve.
int []primeiro = {2, 3, 6, 9, 10};
int []segundo = {1, 4, 5, 7, 8};
int []terceiro = new int[primeiro.length + segundo.length];
int indicePrimeiro = 0, incideSegudo = 0, incideTerceiro = 0;
//enquanto os dois vetores tiverem elementos para percorrer
while (indicePrimeiro < primeiro.length && incideSegudo < segundo.length) {
if (primeiro[indicePrimeiro] < segundo[incideSegudo]) {
terceiro[incideTerceiro++] = primeiro[indicePrimeiro++];
} else if (primeiro[indicePrimeiro] > segundo[incideSegudo]) {
terceiro[incideTerceiro++] = segundo[incideSegudo++];
} else {
terceiro[incideTerceiro++] = primeiro[indicePrimeiro++];
++incideSegudo; //elimina a duplicacao de elementos
}
}
//passa os elementos que restaram a percorrer para o terceiro vetor
while (indicePrimeiro < segundo.length)
terceiro[incideTerceiro++] = primeiro[indicePrimeiro++];
while (incideSegudo < segundo.length)
terceiro[incideTerceiro++] = segundo[incideSegudo++];
Neste algoritmo foi usado a linguagem C, pois tem funções que ajudam na junção dos arrays, onde é feita a leitura dos arrays, os valores podem ser substituídos e juntos em um terceiro, e feita a verificação enquanto houver elementos a serem lidos, sendo verificados por índices, depois eliminados os duplicados, já que é em ordem crescente, depois é feita a verificação do terceiro vetor, também por índices. Outra forma de resolver é, primeiro fazendo a leitura dos dois primeiros vetores e dentro de um BubbleSort, por exemplo, fazer a ordenação em um terceiro vetor e imprimi-lo. O algoritmo de Ordenção pode ser qualquer um, mas considerando que seu vetor será de tamanho pequeno, o BubbleSort resolve.
int []primeiro = {2, 3, 6, 9, 10};
int []segundo = {1, 4, 5, 7, 8};
int []terceiro = new int[primeiro.length + segundo.length];
int indicePrimeiro = 0, incideSegudo = 0, incideTerceiro = 0;
//enquanto os dois vetores tiverem elementos para percorrer
while (indicePrimeiro < primeiro.length && incideSegudo < segundo.length) {
if (primeiro[indicePrimeiro] < segundo[incideSegudo]) {
terceiro[incideTerceiro++] = primeiro[indicePrimeiro++];
} else if (primeiro[indicePrimeiro] > segundo[incideSegudo]) {
terceiro[incideTerceiro++] = segundo[incideSegudo++];
} else {
terceiro[incideTerceiro++] = primeiro[indicePrimeiro++];
++incideSegudo; //elimina a duplicacao de elementos
}
}
//passa os elementos que restaram a percorrer para o terceiro vetor
while (indicePrimeiro < segundo.length)
terceiro[incideTerceiro++] = primeiro[indicePrimeiro++];
while (incideSegudo < segundo.length)
terceiro[incideTerceiro++] = segundo[incideSegudo++];
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar