Algortmo...por favor me salvem

2 respostas
H

Intercalaçaõ é o processo utilizado para contruir uma tabela ordenada, de tamanho n + m, a partir de duas tabelas já ordenadas detamnaho n e m. Por exemplo a partir dos vetores

vetor A= 1–3--6–7
vetor B= 2–4--5
a partir dos dois vetores acima após a intercalação teríamos

vetor C= 1–2--3–4--5–6--7

Fazer um algoritmo que
a) leia NA, número de elementos do vetor A
b) leia em seguida os elementos do vetor A
c) leia NB, número de elementos do vetor B
d) leia em seguida os elementos do vetor B
e) Crie e imprima o vetor C, ordenado, de tamanho NA + NB, apartir dos conjuntos A e B

Observações
a) considere os elementos de A e B como inteiro
b)Os elementos de A e B já são lidos ordenados e os elementos de A não são iguais ao de B.

Galera se alguem souber como faz, por favor me salvem…trab de univ…precisa do algoritmo e do código… grato Heukally

2 Respostas

R

Heukally,
pega dois vetores e armazena em um terceiro …
tipo assim:
o vetor a {1,3,6,7} vai entrar sempre nos indices pares do vetor c , e o vetor b nos indices impares …

faz assim :

int a = 0;

int b = 0;

if  ( i % 2 == 0 ) {

c[i] = a [a];

a++;

} else {

c[i] = b [b];

b++;

}

deu pra entender ???
Espero ter te ajudado !!! :wink:
Renata

T

Ola Amigo, li seu post…fiz alguns experimentos…de uma olhada no codigo abaixo:

public class Algoritimo {

public static void main(String[] args) {
     
     int[] a = {1,3,6,7};
      
    
     int[] b = {2,4,5};
     
     
   System.out.println("Numeros de Elementos do Vetor A-->"+a.length);
     
     for(int i=0; i < a.length; i++){
         System.out.print(a[i]);
        }

	 System.out.println();
     System.out.println();
     
     
  System.out.println("Numeros de Elementos do Vetor B-->"+b.length);
      for(int i=0; i < b.length; i++){
          System.out.print(b[i]);	
          }         
     
     System.out.println();
     System.out.println();
      
     int[][] c =   new int[2][7];
      c[0][0] = a[0];   
      c[0][1] = a[1];
      c[0][2] = a[2];
      c[0][3] = a[3];
      c[0][4] = b[0];
      c[0][5] = b[1];
      c[0][6] = b[2];
     
     Arrays.sort(c[0]);
     
     System.out.println("Vetor C Ordenado");
     for(int i=0;i < 7; i++){
     	System.out.print(c[0][i]);
     } 
            
 }

}

O codigo acima resultara em:

Numeros de Elementos do Vetor A–>4
1367

Numeros de Elementos do Vetor B–>3
245

Vetor C Ordenado
1234567

Se for isso mesmo por favor deixe um post de confirmação OK??!!
Imagino que de pra fazer de outra forma mais simples, estava fazendo isso a noite tava com muito sono, mas vou tentar fazer de outro modo OK!!

Espero ter ajudado!!!

Abraços…

Criado 31 de maio de 2005
Ultima resposta 31 de mai. de 2005
Respostas 2
Participantes 3