Considere o protótipo da função abaixo
Protótipo: void preencheVetor(int v[], int n , int lim);
Implemente a função de forma que ela preencha um vetor v de n posições com valores aleatórios [0,lim]. Atenção: use essa função para preencher vetores nos exercícios seguintes. Veja o texto sobre geração de números aleatórios (moodle).
Protótipo: void preencheVetor(int v[], int n , int lim);
Implemente a função de forma que ela preencha um vetor v de n posições com valores aleatórios [0,lim]. Atenção: use essa função para preencher vetores nos exercícios seguintes. Veja o texto sobre geração de números aleatórios (moodle).
Passo 1
Beleza, vamos resumir o que precisa ser feito aqui. Temos que criar uma função chamada
preencheVetor
que recebe três parâmetros: um vetor v
de inteiros, o tamanho n
desse vetor, e um limite lim
. O objetivo dessa função é preencher o vetor v
com números aleatórios que vão de 0 até lim
. Para isso, vamos usar conceitos de vetores, funções e geração de números aleatórios em programação.Passo 2
Primeiro, precisamos entender como declarar uma função em C. A assinatura da função já está fornecida:
void preencheVetor(int v[], int n, int lim);
Aqui,
void
significa que a função não retorna nenhum valor. Ela recebe um vetor de inteiros v
, o tamanho do vetor n
, e o limite superior lim
para os números aleatórios.Passo 3
Para preencher o vetor com números aleatórios, precisamos usar a função
rand()
da biblioteca stdlib.h
em C. Essa função gera um número inteiro aleatório. Para limitar esse número ao intervalo desejado, usamos a expressão rand() % (lim + 1)
, que garante que o número gerado esteja entre 0 e lim
, inclusive.Passo 4
Vamos agora implementar a função passo a passo. Primeiro, incluímos a biblioteca necessária para usar a função
rand()
:#include <stdlib.h>
Depois, dentro da função, vamos usar um loop
for
para percorrer cada posição do vetor e atribuir um número aleatório dentro do intervalo especificado.Passo 5
Aqui está a implementação completa da função:
#include <stdlib.h>
void preencheVetor(int v[], int n, int lim) {
for(int i = 0; i < n; i++) {
v[i] = rand() % (lim + 1);
}
}
Explicando cada parte:
for(int i = 0; i < n; i++)
: Este loop vai do índice 0 atén-1
, cobrindo todas as posições do vetor.v[i] = rand() % (lim + 1);
: Aqui,rand()
gera um número aleatório, e o% (lim + 1)
limita esse número ao intervalo de 0 alim
.
Resposta
A função
preencheVetor
preenchida fica assim:#include <stdlib.h>
void preencheVetor(int v[], int n, int lim) {
for(int i = 0; i < n; i++) {
v[i] = rand() % (lim + 1);
}
}
Isso vai garantir que cada elemento do vetor
v
receba um número aleatório entre 0 e lim
.