Buscar

Lista de Exercicios 4 - PBC Thiago

Prévia do material em texto

Universidade Federal do Espírito Santo – Centro Tecnológico 
Departamento de Informática 
 
Prof. Thiago Oliveira dos Santos 
 
LISTA DE EXERCÍCIOS - 4 
1. O programa abaixo gera notas aleatórias (de 0 a 100) para 200 participantes de um concurso. Complemente o programa para que ele calcule e imprima: a menor nota, a maior nota, a nota média, o desvio padrão, e o número de participantes reprovados (nota inferior a 70). 
 
#include <time.h> 
int main(){ 
 
 int i; 
 int notas[200]; 
 
 srand(time(NULL)); 
 for (i = 0; i < 200; i++){ 
 notas[i] = rand() % 101; 
 } 
 
 return 0; 
} 
2. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor. Utilizando esse vetor, efetue as seguintes operações: 
 a) Dizer se o vetor está ordenado em ordem crescente, decrescente, ou se está desordenado. 
 b) Imprimir o par de posições consecutivas com a maior distancia entre elas. Se houver mais 
de um par com a mesma distancia, imprima todos eles. 
 b) Ler um intervalo do teclado (m e n, onde m < n) e dizer quantos números estão dentro do 
intervalo e quantos números estão fora do intervalo. 
3. Faça uma função que receba como parâmetros um vetor de inteiros, seu tamanho e um número inteiro X a ser procurado. Essa função deve retornar o índice da primeira ocorrência de X no vetor passado. 
4. Faça um programa para ler um vetor A com 10 componentes distintas inteiras e um vetor B com 5 componentes distintas inteiras e verificar se as seguintes afirmações são verdadeiras ou falsas: 
 a) O vetor B está totalmente contido no vetor A: todo elemento de B encontra-se também 
em A; 
 b) O vetor B está parcialmente contido no vetor A: somente alguns elementos de B estão em 
A; 
Universidade Federal do Espírito Santo – Centro Tecnológico 
Departamento de Informática 
 
Prof. Thiago Oliveira dos Santos 
 
 c) O vetor B não está nada contido no vetor A: não existe nenhum elemento de B no vetor A. 
5. Faça um programa que verifique se as componentes de um vetor de N componentes inteiras lidas pelo teclado formam uma progressão aritmética. Informe se sim ou se não. Caso sim, imprima o termo inicial e a razão. Faça o mesmo para progressão geométrica. 
6. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor A. Troque os elementos de posição impar com os de posição par imediatamente seguintes. Ao final, imprima A. OBS: Utilize a função da questão 1 da lista 3 para fazer a troca. 
7. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor A. Crie um vetor B com itens na ordem inversa de A. 
8. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor A. Inverta a ordem dos itens de A sem utilizar vetores adicionais auxiliares. 
9. Faça um programa para ler 20 números inteiros do teclado e armazenar os 10 primeiros em um vetor A e os 10 últimos em um vetor B. Ordene os vetores A e B individualmente. Depois gere um vetor C com os elemento de A e B intercalados de forma que o vetor C permaneça ordenado. Ao final, imprima C. 
10. Faça um programa que leia os elementos, um a um, de uma matriz A (5x3), assim como e os elementos de uma matriz B (3x4). Posteriormente, faça a multiplicação matricial de A e B, e armazene o resultado em uma matriz C. 
11. Faça um programa que leia as dimensões (MAxNA) e os elementos, um a um, de uma matriz A, assim como as dimensões (MBxNB) e os elementos de uma matriz B. Posteriormente, faça a multiplicação matricial de A e B, e armazene o resultado em uma matriz C. Diga se não for possível. 
12. Faça um programa que leia N do teclado representando uma quantidade de produtos a serem lidos também do teclado. Os produtos a serem lidos são formados pelos campos: nome, preço, quantidade em estoque. Ao final, imprima o nome do produto mais caro e do mais barato, o nome dos produtos que estão em falta. 
13. Faça um jogo da velha. Utilize uma matriz tabuleiro para armazenar o estado do 
Universidade Federal do Espírito Santo – Centro Tecnológico 
Departamento de Informática 
 
Prof. Thiago Oliveira dos Santos 
 jogo. Represente posições vazias com 0, jogadas do jogador 1 com 1 e jogadas do jogador 2 com 2. O programa deve imprimir o tabuleiro na tela com "X", "O" e " " para representar o jogador 1, 2 e uma posição livre respectivamente. O programa deve pedir ao jogador da vez para digitar o índice (linha e coluna) da posição. Se a jogada for válida (posição está livre e o índice está no tabuleiro), o programa deve verificar se o jogador ganhou, ou se o jogo acabou. Caso sim, anuncie e pare. Caso contrário, ele deve imprimir o estado atual do tabuleiro e passar a vez para o próximo jogador. 
14. Faça um programa com o um menu que permita: 
 a) Ler o nome (char[200]) e a idade (int) de uma pessoa pelo teclado e adicionar a uma lista 
encadeada. 
 b) Imprimir o conteúdo da lista. 
 c) Procurar na lista a pessoa com um determinado nome (lido do teclado) e imprimir sua 
idade. 
 d) Imprimir o nome de todas as pessoas com idade maior do que X, onde X é um número lido 
do teclado. 
 e) Sair 
 
 
	LISTA DE EXERCÍCIOS - 4
	1. O programa abaixo gera notas aleatórias (de 0 a 100) para 200 participantes de um concurso. Complemente o programa para que ele calcule e imprima: a menor nota, a maior nota, a nota média, o desvio padrão, e o número de participantes reprovados (nota inferior a 70).
	2. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor. Utilizando esse vetor, efetue as seguintes operações:
	3. Faça uma função que receba como parâmetros um vetor de inteiros, seu tamanho e um número inteiro X a ser procurado. Essa função deve retornar o índice da primeira ocorrência de X no vetor passado.
	4. Faça um programa para ler um vetor A com 10 componentes distintas inteiras e um vetor B com 5 componentes distintas inteiras e verificar se as seguintes afirmações são verdadeiras ou falsas:
	5. Faça um programa que verifique se as componentes de um vetor de N componentes inteiras lidas pelo teclado formam uma progressão aritmética. Informe se sim ou se não. Caso sim, imprima o termo inicial e a razão. Faça o mesmo para progressão geométrica.
	6. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor A. Troque os elementos de posição impar com os de posição par imediatamente seguintes. Ao final, imprima A. OBS: Utilize a função da questão 1 da lista 3 para fazer a troca.
	7. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor A. Crie um vetor B com itens na ordem inversa de A.
	8. Faça um programa para ler 10 números inteiros do teclado e armazená-los em um vetor A. Inverta a ordem dos itens de A sem utilizar vetores adicionais auxiliares.
	9. Faça um programa para ler 20 números inteiros do teclado e armazenar os 10 primeiros em um vetor A e os 10 últimos em um vetor B. Ordene os vetores A e B individualmente. Depois gere um vetor C com os elemento de A e B intercalados de forma que o vetor C permaneça ordenado. Ao final, imprima C.
	10. Faça um programa que leia os elementos, um a um, de uma matriz A (5x3), assim como e os elementos de uma matriz B (3x4). Posteriormente, faça a multiplicação matricial de A e B, e armazene o resultado em uma matriz C.
	11. Faça um programa que leia as dimensões (MAxNA) e os elementos, um a um, de uma matriz A, assim como as dimensões (MBxNB) e os elementos de uma matriz B. Posteriormente, faça a multiplicação matricial de A e B, e armazene o resultado em uma matriz C. Diga se não for possível.
	12. Faça um programa que leia N do teclado representando uma quantidade de produtos a serem lidos também do teclado. Os produtos a serem lidos são formados pelos campos: nome, preço, quantidade em estoque. Ao final, imprima o nome do produto mais caro e do mais barato, o nome dos produtos que estão em falta. 
	13. Faça um jogo da velha.Utilize uma matriz tabuleiro para armazenar o estado do jogo. Represente posições vazias com 0, jogadas do jogador 1 com 1 e jogadas do jogador 2 com 2. O programa deve imprimir o tabuleiro na tela com "X", "O" e " " para representar o jogador 1, 2 e uma posição livre respectivamente. O programa deve pedir ao jogador da vez para digitar o índice (linha e coluna) da posição. Se a jogada for válida (posição está livre e o índice está no tabuleiro), o programa deve verificar se o jogador ganhou, ou se o jogo acabou. Caso sim, anuncie e pare. Caso contrário, ele deve imprimir o estado atual do tabuleiro e passar a vez para o próximo jogador. 
	14. Faça um programa com o um menu que permita:

Outros materiais