Ir para conteúdo

Recommended Posts

Boa noite! Preciso fazer um programa que faça a união de vetores mas estou confusa, alguém pode me ajudar? 

/* Faça um programa que leia duas sequências de números inteiros distintos e salve cada sequência em um vetor.
 Suponha que o número máximo de elementos de uma sequência é 50. Suponha que cada um destes vetores represente um conjunto contendo os elementos nele armazenados.
 O programa deve então salvar em um terceiro vetor o resultado da união dos dois primeiros vetores e imprimir o resultado. */

#include <stdio.h>
#include <stdlib.h>

int main(){
    int vetorA[50], vetorB[50], i, m, j, uniao[100];
    
    printf ("Digite o tamanho dos vetores (max 50): ");
    scanf ("%d", &m);
    
    
    for(i=0; i<m ;i++){
        printf("Preenche o vetorA[%d] \n",i);
        scanf("%d",&vetorA[i]);
                              }
                              
	printf ("\n\n");
		
    for(i=0; i<m; i++){
        printf("Preenche o vetorB[%d] \n",i);
        scanf("%d",&vetorB[i]);
                              }
    
	printf ("\n\n");
	
	printf ("Imprimindo dados do vetorA [ ");
	for (i=0; i<m; i++){
			printf ("%d ", vetorA[i]);
	}
	printf("]");
	
	printf("\n\n");  
	
	printf ("Imprimindo dados do vetorB [ ");
	for (i=0; i<m; i++){
			printf ("%d ", vetorB[i]);
	}
	printf("]");
	
  printf("\n\n");                           
  printf ("Uniao [ ");
  for(i=0; i<m; i++)
  	for(j=0; j<m ;j++)	
  		if (vetorA[i] vetorB[j])
 
	printf("]");
    return 0;
}

Preciso de ajuda bem na hora de fazer a união... Não estou conseguindo pensar em como fazer sem repetir os números. Obrigada desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, então, eu vi que você criou um vetor chamado "uniao[100]", mas não usou ele no código, a saída final do programa seria uma matriz ou um vetor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso se chama concatenação de vetores, para isso você precisa transformar o conteúdo dos vetores em strings ou caracteres e incluir um header string no escopo do programa.

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, Ds1991 disse:

Olá, então, eu vi que você criou um vetor chamado "uniao[100]", mas não usou ele no código, a saída final do programa seria uma matriz ou um vetor?

É um vetor! Consegui fazer o programa. Obrigada

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, BeatrizCass disse:

É um vetor! Consegui fazer o programa. Obrigada



 

 

Não tem de quê, se puder posta a sua resolução pra ajudar outras pessoas que podem ter o mesmo problema, seria legal hehe, boa sorte ae.

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Dan Borges
      Olá,
       
      Tenho conhecimentos em C#, e ultimamente venho programando utilizando o MonoGame para desenvolver jogos. Estava procurando como é feito uma pista pseudo 3D, e achei esse artigo em JS: https://codeincomplete.com/posts/javascript-racer-v1-straight/
       
      Por ter a lógica de programação da mente, mesmo sem saber js, entendi parte do código, mas esse trecho, não:
      segments = []; for(var n = 0 ; n < 500 ; n++) { // arbitrary road length segments.push({ index: n, p1: { world: { z: n *segmentLength }, camera: {}, screen: {} }, p2: { world: { z: (n+1)*segmentLength }, camera: {}, screen: {} }, color: Math.floor(n/rumbleLength)%2 ? COLORS.DARK : COLORS.LIGHT }); } A primeira vista entendi que ele está adicionando valores ao array segments com o método push. Mas, os valores colocados, não fazem sentido para mim.
      É como se fosse criada uma classe dinamicamente (que contenha as variáveis:, index, p1, p2...) sem precisar declará-la.
      Seria basicamente isso? Ele criou um objeto que representa uma classe, mas sem nomeá-la, ou algo semelhante?
    • Por EREGON
      Bom dia,
       
      estou a tentar fazer um exercício para, dado um ficheiro .txt na directoria do programa, terei de encontrar todas as palavras que são palíndromos. Tendo este código para ler as palavras do ficheiro .txt (letra a letra) para uma matrix.
       
      Estando as palavras armazenadas numa matrix, como faço essa validação?
       
      Obg,
       
      #include <stdio.h> #include <stdlib.h> int main(int argc, char const *argv[]) { FILE* inp; inp = fopen("palindromo.txt","r"); char arr[100][50]; int i = 0; while(1){ char r = (char)fgetc(inp); int k = 0; while(r!=',' && !feof(inp)){ //Le ate fim de ficheiro arr[i][k++] = r; //armazena no array r = (char)fgetc(inp); } arr[i][k]=0; //ultimo carater nulo //Alguma parte aqui, valida se a palavra e PALINDROMO. //COMO?? if(feof(inp)){ //valida EOF break; } i++; } int j; for(j = 0;j<=i;j++){ printf("%s\n",arr[j] ); //Imprime array } return 0; }  
    • Por Bruno Goedert Dalmolin
      Não consigo apresentar as palavras equivalentes conseguem me ajudar???
      O código é o seguinte: 
       
      #include <stdio.h>
      char equivale(int ddd){
          switch(ddd){
              case 61:
                  return "Brasilia";
                  break;
              case 71:
                  return "Salvador";
                  break;
              case 11:
                  return "Sao Palo";
                  break;
              case 21:
                  return "Rio de Janeiro";
                  break;
              case 32:
                  return "Juiz de Fora";
                  break;
              case 19:
                  return "Campinas";
                  break;
              case 27:
                  return "Vitoria";
                  break;
              case 31:
                  return "Belo Horizonte";
                  break;
          }
      }
      int main(){
          int ddd;
          scanf("%d",&ddd);
          equivale(ddd);
          printf("%d",equivale(ddd));
      }
    • Por darkskull10
      Numa cidade as crianças costumam brincar com um jogo (de dois jogadores) onde:
      um jogador A define uma sequência de 10 letras usando: G, R e B (exemplo: G – G – G – R – B – R – B – B – B – R)
      um jogador B pode ler a sequência quantas vezes quiser
      o jogador B também pode dizer uma das letras e obter em quais posições a letra dada se encontra na sequência
      o jogador B também pode dar uma posição e saber qual letra ocupa a posição na sequência
      para finalizar, o jogador B deve dizer a sequência de letras, obtendo um ponto para cada acerto.
       
      Só consegui pensar nisso por enquanto.
       
      //identificar que letra ocupa esta posição na sequência:
      do{
      scanf(“%d”,&Posicao);
      Posicao=Posicao-1;}
      while ((Posicao<0)||(Posicao>9));
      printf(“%c”,Sequencia[Posicao]);
       
      //exibir sequencia
      for (Cont=0; Cont<=9; Cont++)
      printf(“%c”,Sequencia[Cont]);
       
      //exibir posições
      for (Cont=0; Cont<=9; Cont++)
      printf(“%d%c”,Cont+1,Sequencia[Cont]);
    • Por EduardoLenz
      Olá, pessoal,
       
      Mexo com microcontroladores, antigamente com PIC e agora com ARM (plataforma LPCXpresso). 
      Ambos utilizam a linguagem C. 
       
      Meu problema é o seguinte: Preciso converter um caractere que vem da UART (porta de comunicação). No PIC havia uma função pronta para tal, no ARM não. 
       
      O caractere chega assim, por exemplo: P123 (tudo junto), e eu queria separar em:
      dado_recebido[]={'P', '1', '2', '3'}; 
      Para poder utilizar um switch 
      switch(dado_recebido[0])
      {
      case 'P':....
      }
       
      alguém tem alguma ideia de como posso fazer a conversão? 
       
      Agradeço desde já. 
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.