Ir ao conteúdo
  • Cadastre-se

Ajuda com esses programas


Posts recomendados

Preciso desenvolver estes programas, mas não tenho ideia de como fazer!! Urgente!!
 
 
Crie um programa para manipular vetores. O seu programa deve implementar uma função

que receba um vetor de inteiros V e retorne um outro vetor de inteiros alocado
dinamicamente com todos os valores de V que estejam entre o valor mínimo e máximo
(que também são passados como parâmetro para a função).
A função deve obedecer ao seguinte protótipo:
int* valores_entre(int *v, int n, int min, int max, int *qtd);
A função recebe:
v: vetor de números inteiros;
n: a quantidade de elementos do vetor v;
min: valor mínimo a ser buscado;
max: valor máximo a ser buscado;
A função deve:
Verificar a quantidade de elementos do vetor que sejam maiores do que min e
menores que max;
Caso a quantidade seja maior do que 0 (zero), alocar dinamicamente uma área do
exato tamanho necessário para armazenar os valores;
Copia os elementos do vetor que sejam maiores do que min e menores que max
para a área alocada dinamicamente.
A função retorna:
O endereço da área alocada dinamicamente, preenchida com os números maiores
do que min e menores que max, ou NULL, caso essa relação de números não
tenha sido criada;
A quantidade de números carregados na área alocada dinamicamente, através do
parâmetro qtd.
Em seguida, crie a função principal do programa para inicializar um vetor de inteiros, exibir
esses valores na tela e pedir para o usuário digitar o valor mínimo e máximo a ser
buscado. Em seguida o programa deverá chamar a função valores_entre e exibir na
tela os valores resultantes. Lembre-se de exibir uma mensagem de erro caso nenhum
valor seja encontrado. Não se esqueça de liberar a memória alocada dinamicamente.

2. Crie uma função que receba como parâmetros dois vetores de inteiros, v1 e v2, e as suas
respectivas quantidades de elementos, n1 e n2. A função deverá retornar um ponteiro
para um terceiro vetor, v3, com capacidade para (n1 + n2) elementos, alocado
dinamicamente, contendo a união de v1 e v2. Por exemplo, se v1 = {11, 13, 45, 7} e v2 =
{24, 4, 16, 81, 10, 12}, v3 irá conter {11, 13, 45, 7, 24, 4, 16, 81, 10, 12}.
O cabeçalho dessa função deverá ser o seguinte:
int* uniao(int *v1, int n1, int *v2, int n2);
Em seguida, crie a função principal do programa para chamar a função uniao passando
dois vetores informados pelo usuário (ou declarados estaticamente). Em seguida, o
programa deve exibir na tela os elementos do vetor resultante. Não esqueça de liberar a
memória alocada dinamicamente.

3. Crie um programa que implemente o jogo “Bingo de Prog II”. Nesse jogo, o jogador deve
selecionar a quantidade de números que ele gostaria de apostar (entre 1 e 20), e em
seguida, informar os números escolhidos (valores entre 0 e 100). Após receber a aposta, o
computador sorteia 20 números (entre 0 e 100) e compara os números sorteados com os
números apostados, informando ao apostador a quantidade de acertos e os números que
ele acertou.
O seu programa deverá implementar as funções ler_aposta, sorteia_valores e
compara_aposta.
A função ler_aposta deve receber como parâmetro a quantidade de números que
serão apostados e um vetor previamente alocado dinamicamente para armazenar a
quantidade exata de números apostados. A função deve pedir para o usuário digitar os
números apostados e armazena-los no vetor, garantindo que somente números dentro do
intervalo de 0 a 100 sejam digitados. A função deve seguir o seguinte protótipo:
void ler_aposta(int *aposta, int n);
A função sorteia_valores deve receber como parâmetro a quantidade de números
que serão sorteados e um vetor previamente alocado dinamicamente para armazenar a
quantidade exata de números sorteados. A função deve sortear aleatoriamente os
números (entre 0 e 100) e armazena-los no vetor. A função deve seguir o seguinte
protótipo:
void sorteia_valores(int *sorteio, int n);
A função compara_aposta deve receber como parâmetro o vetor com os números
apostados (aposta), o vetor com os números sorteados (sorteio), juntamente com os
seus respectivos tamanhos (na e ns) e um ponteiro para uma variável inteira
(qtdacertos), onde deve ser armazenada a quantidade de acertos. A função deve
retornar o ponteiro para um vetor alocado dinamicamente contendo os números que o
apostador acertou. A função deve seguir o seguinte protótipo:
int* compara_aposta(int *aposta, int *sorteio,
int *qtdacertos, int na, int ns);
Em seguida, crie a função principal do programa utilizado as funções criadas
anteriormente para implementar o jogo “Bingo de Prog II”. Lembre-se que os vetores
aposta, sorteio e acertos devem ser alocados dinamicamente e a memória
alocada deve liberada quando ela não for mais ser utilizada.
Para sortear números aleatórios utilize a função rand da biblioteca stdlib.h. A
função rand retorna um número aleatório em um determinado intervalo. Exemplo:
x = rand() % 10; /* x vai receber um valor entre 0 e 10 */
Para garantir que novos números aleatórios sejam sorteados em cada execução do
programa é necessário executar a função srand antes de sortear os números. Exemplo:
srand(time(NULL));
Para poder utilizar essas funções é necessário incluir no programa as bibliotecas
stdlib.h e time.h. Exemplo de programa para sortear um número aleatório:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int x;
srand(time(NULL));
x = rand() % 10; /* x vai receber um valor entre 0 e 10 */
printf("%d", x);
return 0;
}

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
  • 10 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...