Prazo de entrega: 1 semana (conferir no Moodle)
Faça um programa que leie um vetor de números inteiros (pergunte antes quandos números serão digitados). Imprima o menor e o maior elemento do vetor. Imprima também a média do vetor. Por fim, indique se o vetor está ordenado em ordem crescente ou não.
Dica: você pode incluir o cabeçalho limits.h para usar as variáveis INT_MIN e INT_MAX, úteis quando estamos querendo obter o maior e o menor itens de um arranjo, respectivamente.
Faça um programa que leia dois vetores v1 e v2 com n1 e n2 elementos inteiros, respectivamente. Assuma que os elementos dos vetores v1 e v2 estão em ordem crescente. Escreva um programa que junte os vetores v1 e v2 num vetor v3 de forma que os elementos de v3 estejam e ordem crescente. Note que v3 deve ter espaço para armazenar pelo menos n1 + n2 elementos. Para testar seu programa, imprima os elementos do vetor v3.
Implemente uma função em C que recebe três vetores de inteiros v1, v2 e v3, mais um inteiro N com o tamanho dos vetores. Sua função deve inicializar o vetor v3 de forma que o elemento na posição i de v3 seja a soma dos elementos na posição i de v1 e v2. Sua função deve ter a seguinte declaração:
void soma_vetores(int *v1, int *v2, int *v3, int N);
Para testar seu programa, crie uma função main() que chama sua função soma_vetores e imprime os valores somados.
rand()Uma boa função para geração de números aleatórios deve gerar valores com igual probabilidade, i.e., se eu quero gerar 100 valores entre 1 e 10, o número de vezes que cada número é gerado deve ser próximo de 10. Assim, nesta prática você deve criar um programa para testar a qualidade da função rand() da linguagem C. Para isso, gere 5.000.000 números aleatórios entre zero (inclusive) e 999 (inclusive) e conte quantas vezes cada número foi gerado. Imprima a diferença entre a maior e a menor contagem. Exemplo: se o número 83 foi aquele que mais vezes foi gerado, com 5315 gerações, e o número 762 foi aquele que menos vezes foi gerado, com 4802 gerações, então seu programa deve imprimir 5315 - 4802 = 513.
Dica: crie um vetor de inteiros de 1000 posições para armazenar quantas vezes cada número (entre zero e 999) é gerado. Assim, cada vez que você gerar aleatoriamente o número k, faça vetor_contagem[k]++;. No final, vetor_contagem[k] conterá o número de vezes que o número k foi gerado.
Além da diferença, imprima também o desvio padrão das contagens. Para entender o que é o desvio padrão e como calcula, consulte teste link.
Faça um programa que lê um string s1 e um caracterece c do teclado. Seu programa deve declarar um arranjo de ponteiros para caracteres. Esse arranjo de ponteiros para caracteres (char * vetor[]) deverá armazenar ponteiros para todas as ocorrências do caractere c no string s1. Marque o final das ocorrências de c no string s1 armazenando um ponteiro NULL arranjo de ponteiros.
Por exemplo, se
s1 = "stringsinistro";
c = 's';
Então o arranjo deve ter três elementos inicializados (o primeiro deles com o valor de s1) e o quarto elemento deve ser NULL. Para testar seu programa, percorra o arranjo de ponteiros e imprima os caracteres apontados.
-- Profs. Pedro O. S. Vaz de Melo e Ítalo F. S. Cunha
! vim: tw=68