Informática, perguntado por Leidianesoares1, 1 ano atrás

Faça um programa EM LINGUAGEM C para ler dois vetores de 10 elementos inteiros cada um, criar e imprimir um vetor resultante da intercalação desses dois vetores.

Soluções para a tarefa

Respondido por bokomoko
0
Tente assim
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define RAND_MAX 100


void obtem_vetor( char *mensagem, int vetor[]){
  char tecla;
  printf("Quer digitar 10 valores ou quer que o computador o faça ? S/n");
  scanf("%s",&tecla);
  if ( tecla == "S") { 
     //  obten vetor do teclado
     printf("%s \n",mensagem);
     for( int l=0 ; l<10 ; l++){  
       printf("Informe o elemento [%i] = ",l);
       scanf("%i",&vetor[l]);
      };
  }
  else {
     for( int l=0 ; l<10 ; l++){  
       vetor[l] = (rand()*100) - 50;
      };
     
  }
  
}

void exibe_vetor( char *mensagem, int vetor[], int limite) {
  printf("\n %s \n",mensagem);
  for (int i=0; i<limite;i++){
    printf("Elemento [%i] = %i \n",i,vetor[i]);
};
};

void main() {
int primeira[10];
int segunda[10];
int resultado[10];
srand(time(NULL));   // should only be called once
  
  obtem_vetor("Informe dados do primeiro vetor",primeira);
  exibe_vetor("Eis o primeiro vetor de 10",primeira,10);
  printf("\n");
  obtem_vetor("Informe dados do segundo vetor",segunda);
  exibe_vetor("Eis o segundo vetor de 10",segunda,10);
  printf("\n");

// intercalando e tacando em resultado

printf("\nIntercalada \n");
for( int l=0 ; l<20 ; l++){  
   if (l % 2) {
       resultado[l] = primeira[l/2];
   }
   else { 
        resultado[l] = segunda[l/2];
   };
   printf("elemento [%i], %i\n",l,resultado[l]);
  
}
}


Pode rodá-lo aqui
https://repl.it/@bokomoko/Intercala
Perguntas interessantes