UFCG/CEEI/DSC

Disciplina: INTRODUÇÃO À PROGRAMAÇÃO - Turma 02

Período 2006.2

Prof. Roberto M. de Faria

 

3ª Lista de Exercícios – Uso de Apontadores

 

Data limite para entrega: 25/04/2007. A entrega será por e-mail: yangmcee@gmail.com.

Observação Geral: Explore o máximo uso de funções e apontadores.

 

  1. Faça um programa que:

a.       leia 7 valores inteiros e os armazene em um vetor. Listar o vetor com as referidas posições de armazenamento de cada valor.

b.      ofereça uma função de pesquisa onde dado um valor inteiro qualquer de entrada retornar a posição deste valor dentro do vetor, e caso este valor não esteja presente no vetor retornar –1.

c.       ofereça uma função que troque os valores contido no vetor pela seguinte política: cada elemento i  dentro do vetor será substituído pela soma de todos os (i-1) elementos mais o elemento i. Por exemplo, dado um vetor [1; 2; 3; 4; 5] após a  aplicação da função teríamos esse vetor preenchido com os seguintes valores [1; 3; 6; 10; 15]. Para esta tarefa utilize um vetor auxiliar.

 

  1. Faça um programa que, dados dois vetores bidimensionais (matrizes A e B) com dimensões de no máximo 5x5 elementos, retorne:
    1. a soma destas duas matrizes
    2. a soma das diagonais de cada matriz

 

  1. Vamos supor que várias pedras do jogo de xadrez estão no tabuleiro. Para facilitar a indicação das peças, vamos convencionar:
    1 – peões        3 – torres         5 – reis            0 – ausência de peças
    2 – cavalos      4 – bispos        6 – rainhas

    O tabuleiro é o seguinte:

1

3

0

5

4

0

2

1

1

0

1

0

0

1

0

0

0

0

0

0

1

0

6

0

1

0

0

1

1

0

0

1

0

1

0

4

0

0

1

0

0

0

3

1

0

0

1

1

1

0

6

6

0

0

1

0

1

0

5

0

1

1

0

6

 

a) Construa um programa que determine a soma total entre peões ou bispos e a quantidade de posições com ausência de peças;

b) O programa determina também qual a quantidade de cada tipo de peça no tabuleiro.

 

  1. A distância entre várias cidades é dada pela tabela abaixo (em km):

 

1

2

3

4

5

1

00

15

30

05

12

2

15

00

10

17

28

3

30

10

00

03

11

4

05

17

03

00

80

5

12

28

11

80

00

 

a) Construa um programa que leia a tabela acima e informe ao usuário a distância entre duas cidades por ele requisitadas, até que ele entre com o código 0 para ambas as cidades;

b) O programa imprime também a tabela sem repetições, isto é, se a distância entre as cidades 1 e 3 foi emitida, não é necessário emitir a distância entre 3 e 1;

c) Dado um determinado percurso, imprima ainda o total percorrido:

Exemplo: dado o percurso 1, 2, 3, 2, 5, 1, 4, teremos:

15 + 10 + 10 + 28 + 12 + 5 = 80 km.

 

  1. Um cinema que possui capacidade de 20 lugares está sempre lotado. Certo dia cada espectador respondeu a um questionário, onde constava:

      - sua idade;

      - sua opinião em relação ao filme, que podia ser: ótimo, bom, regular, ruim ou péssimo.

 

      Elabore um programa que, recebendo estes dados calcule e mostre:

a.       a quantidade de respostas ótimo;

b.      a diferença percentual entre respostas bom e regular;

c.       a média de idade das pessoas que responderam ruim;

d.      a porcentagem de respostas péssimo e a maior idade que utilizou esta opção;

e.       a diferença de idade entre a maior idade que respondeu ótimo e a maior idade que respondeu ruim.

 

  1. Faça um programa que receba uma matriz 5x5 valores do tipo int do usuário, um valor de cada vez, e imprima a sua matriz transposta (Obs: a matriz transposta é obtida permutando-se as linhas e as colunas de uma matriz.

 

  1. Escreva um programa que leia uma matriz n x m do usuário e a transforme em um vetor unidimensional de n.m posições. Assuma que n e m no máximo terão o valor 50.

 

  1. Escreva um programa que simule um jogo da velha. A saída deve ser o tabuleiro (3X3) com os números de 1 à 3 acima das colunas e ao lado das linhas. O programa pedirá a posição que o jogador 1 quer posicionar o seu “X”, e em seguida a posição que o jogador 2 quer posicionar sua “O”. E ao fim dirá se houve empate, vitória ou derrota.

 

  1. Faça um programa que tenha como entrada uma matriz (3X3) e mostre ao usuário a inversa da matriz dada.

 

  1. Escreva um programa que leia duas matrizes inteiras: uma matriz 4x5 e outra matriz 5x2. Em seguida, calcule e mostre o produto matricial das matrizes lidas.

O – O – O