Informática, perguntado por Leidianesoares1, 11 meses atrás

Faça um programa 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
Eis em C

#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 rodar ele aqui 
https://repl.it/@bokomoko/Intercala

Perguntas interessantes