Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
luisfelip

Intercalar vetores de forma ordenada

Recommended Posts

Tenho que fazer um algoritmo que intercale dois vetores com o tamanho p1 e p2, receba os
p1 valores no vetor 1 e os p2 valores no vetor 2 e construa um terceiro vetor, com a intercalação dos
vetores 1 e 2 de forma ordenada. Dentro do mesmo vetor é garantido que o número n representado na linha p é menor que o número que está
em p+1 e maior que ou igual ao que está em p-1. 

exemplo:

Entrada
5
7
1
3
5
7
21
0
2
4
6
8
10
12
Saída
0
1
2
3
4
5
6
7
8
10
12
21

Fiz esse algoritmo, mas não está nem rodando:

#include <stdio.h>
int main(){
    int q1, q2, i, v1[1000005], v2[1000005], k;
    scanf("%i", &q1);
    scanf("%i", &q2);
    for(i=0; i<q1; i++){
        scanf("%i", &v1);
    }
    for(i=0; i<q2; i++){
        scanf("%i", &v2);
    }
    k=0;
    for(i=0; i<(q1+q2); i++){
        printf("%i\n", v1);
        printf("%i\n", v2[k]);
        k++;
    }
    return 0;
}
 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@luisfelip       coloque o código dentro da tag  code cujo botão é esse  <>  que está 

na barra de ferramentas da janela de postagem, clique nele e cole o código na janela

que aparece, pois assim é melhor para podermos copiar o código.  Nesse código que 

você fez você não colocou os números no vetor v1 e nem no v2, e precisa de um 

terceiro vetor o v3 para colocar os números não repetidos dos dois vetores, então é

preciso pegar os números de v1 e v2 e se o número não for repetido colocar em v3

que é o vetor de saída e então organizar o vetor v3 em ordem crescente,  depois

imprimir na tela.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@luisfelip    você quer que ele imprima os números em ordem, e que não tenha 

nenhum número repetido ? veja se esse código te serve .

#include <stdio.h>
int main(){
    int q1, q2, i, v1[1005], v2[1005],v3[2010],k;
    int h,j,m,g;
    i=0;q1=0;q2=0;
    while(q1!=1001){
    printf("digite um numero para o 1 vetor ou   1001 para terminar --> ");
      scanf("%i", &q1);
      if(q1!=1001){v1[i]=q1;i++;}
    }
    for(j=0;j<i;j++){
        v3[j]=v1[j];/*coloca os numeros de v1 em vetor v3*/
    }
    i=0;
    while(q2!=1001){
    printf("digite um numero para o 2 vetor ou   1001 para terminar --> ");
      scanf("%i", &q2);
      if(q2!=1001){v2[i]=q2;i++;}
    }
    for(m=0;m<i;m++){
        v3[j]=v2[m];  /*coloca os numeros de v2 em vetor v3*/
        j++;
    }
    g=0;
    for(m=0;m<j;m++){
        if(v3[m]==0){g=1;}/*se houver um ou mais zero no vetor */
    }
    for(i=0;i<j;i++){
        for(m=0;m<j;m++){
            if(i != m){             /*se nao é ele mesmo*/
                if(v3[i] == v3[m]){ /*se o numero repetiu*/
                    v3[m]=0;        /*deleta o numero*/
                }
            }
        }
    }
    printf("\naqui os numeros organizados --> ");
    for(i=0;i<j-1;i++){   /*organizar em ordem crescente*/
        for(m=i+1;m<j;m++){
            if( v3[i]>v3[m]){
                h=v3[i];
                v3[i]=v3[m];
                v3[m]=h;
            }
        }
    }
    if(g==1){   /*se havia um zero no vetor*/
        printf("0 ");  /*imprime o zero*/
    }
    for(i=0;i<j;i++){
        if(v3[i] != 0){
            printf("%d ",v3[i]);
        }

    }
    printf("\n\n");
    system("pause");
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×