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

Linguagem C: Faça um programa que leia 10 valores numéricos inteiros em um vetor e três valores inteiros nas variáveis A B e C. Após a leitura, informe o número de vezes que os números A, B e C apareceram no vetor. Buguei tentando fazer x(

Soluções para a tarefa

Respondido por bokomoko
2
Eu faria assim

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

#define LIMITE 10 


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("%c",&tecla);
  if ( tecla == "S") { 
     //  obten vetor do teclado
     printf("%s \n",mensagem);
     for( int l=0 ; l<LIMITE ; l++){  
       printf("Informe o elemento [%i] = ",l);
       scanf("%i",&vetor[l]);
      };
  }
  else {
     for( int l=0 ; l< LIMITE ; l++){  
       vetor[l] = (rand() % 100)-30;
      };
     
  }
  
};

int quantas_dentro( int alvo , int vetor[]){
  int i;
  int achou=0;
  for (i=0;i<10;i++){
    achou += (vetor[i]==alvo);
    };
  return(achou);
  };
  

void pega_valor( char *mensagem, int *what ){
  int valor;
  printf(mensagem);
  scanf("%i",&valor);
  printf("O valor  informado foi %i \n",valor);
  *what = valor;
};

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[LIMITE];
int a,b,c;
srand(time(NULL));   // should only be called once
  
  obtem_vetor("Informe dados do primeiro vetor",primeira);
  exibe_vetor("Eis o vetor de 10 elementos",primeira,LIMITE);
  printf("\n");
  pega_valor("Informe o valor de A",&a);
  pega_valor("Informe o valor de B ",&b);
  pega_valor("Informe o valor de C ",&c);

  printf("O valor A = %i foi encontrado %i vezes\n",a,quantas_dentro(a,primeira));
  printf("O valor B = %i foi encontrado %i vezes\n",b,quantas_dentro(b,primeira));
  printf("O valor C = %i foi encontrado %i vezes\n",c,quantas_dentro(c,primeira));
  

}

pode rodar aqui
https://repl.it/@bokomoko/3buscas


Perguntas interessantes