Universidade Federal da Paraíba

Departamento de Sistemas e Computação

Disciplina: Introdução à Programação (para o curso de Engenharia Elétrica)

Professores: Lívia M. R. Sampaio (Turma02) e Roberto Faria (Turma01)

 

2a Lista de Exercícios

Cadeias de caracteres – Variáveis indexadas - Apontadores

 

1.        O tempo de vôo que um determinado avião leva entre duas cidades distintas é mostrado na seguinte tabela:

 

A

B

C

D

A

 

02

11

06

B

02

 

07

12

C

11

07

 

11

D

06

12

11

 

 

·         Escreva um programa que leia a tabela acima.

·         Dadas duas cidades x e y, informe ao usuário o tempo de vôo entre estas duas cidades. O processamento deve ser encerrado quando o usuário informar a mesma cidade como origem e destino.

·         Imprima a tabela sem repetições (apenas o triângulo superior ou inferior).

2.        Desenvolva um programa que leia duas matrizes A e B, do tipo 3x3 e calcule em uma matriz R sua multiplicação, ou seja, R = A * B.

3.        Escreva um programa que leia N elementos para um vetor de números inteiros, alocado dinamicamente. O programa permitirá que a partir de números fornecidos pelo usuário seja informada a freqüência de ocorrência de cada número no vetor. Determine a condição de parada para o seu programa.

4.        Escreva um programa que leia 10 valores para um vetor de números inteiros e o coloque em ordem crescente, utilizando a seguinte estratégia de ordenação:

·         Selecione o elemento do vetor de 10 elementos que apresenta o menor valor;

·         Troque este elemento pelo primeiro

·         Repita estas operações, envolvendo agora apenas os 9 elementos restantes (selecionando o de menor valor com a segunda posição), depois os 18 elementos (trocando o de menor valor com a terceira posição), depois os 17, 16 e assim por diante, até restar um único elemento, o maior deles.

5.        Reescreva o programa anterior considerando um vetor com N elementos, usando alocação dinâmica de memória e uma função para ordenação.

6.        Escreva um programa que copie sua entrada na saída trocando cada cadeia de dois ou mais espaços por um único espaço, utilizando a função removeBrancos(), cujo protótipo é:  void removeBrancos(char cadeia[]).

 

Observações:

1. Entregar os programas desta lista via e-mail anexado num único arquivo zipado sob o nome Lista01.zip. O e-mail deve ser destinado à intprog@dsc.ufpb.br, colocando no subject: <nome_completo>/turmaxx/lista01.

1.        Os nomes de programas devem ser formados da seguinte maneira: L1Progxx.c

2.        Cada programa deve conter um cabeçalho com o seguinte formato:

/*

UFPB/CCT/DSC/IntProg – 2001.1

Curso de Engenharia Elétrica

Nome:

Matricula:

Turma:

Lista01 / Questaoxx

Objetivo do programa:

*/

3.        Data de entrega: 01/10/01.

4.        Aqueles que não puderem entregar os programas implementados podem entregar o código fonte em papel, haja vista o problema de utilização dos laboratórios.