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).

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 a lim.

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.

Exercícios relacionados