DCC003: Algoritmos e Estruturas de Dados I
2013/1

Exercícios 3: Arranjos

Exercício 1. Uma importadora importa produtos de vários países. O preço do frete varia de acordo com o país seguindo a tabela abaixo. Faça um programa que lê o valor de um produto, o país de origem (imprima as opções possíveis em um menu) e imprima o valor total do produto mais frete. Armazene o preço dos fretes em um arranjo.

PaísEstados UnidosFrançaMéxicoArgentinaChina
Frete60,00 75,50 50,00 27,35 80,00

Exercício 2. Faça um programa que dado um número de 1 a 7 imprima o dia da semana referente àquele número. Considere 1 = domingo e 7 = sábado.

Dicas: Declare um arranjo de sete strings de 80 caracteres cada fazendo char dia_da_semana[7][80]; inicialize os nomes dos dias da semana usando a função sprintf(dia_da_semana[0], "domingo"). A função sprintf é uma versão do printf que "imprime" em uma string em vez de imprimir na tela. Note que a string onde sprintf irá "imprimir" deve ter espaço suficiente para receber os dados. Como dia_da_semana[0] tem 80 caracteres, conseguiremos escrever "domingo" sem problemas.

Exercício 3. Implemente um programa que leia um string e conte o número de caracteres. Não use a função strlen. Para ler uma string de até 127 caracteres do teclado, use o seguinte código:

	char linha[128];
	printf("digite uma linha:\n");
	fgets(linha, 128, stdin);P

Exercício 4. Faça um programa que leia um string e modifique todos os caracteres minúsculos por caracteres maiúsculos.

Dicas: Caracteres têm valores inteiros sequenciais, na mesma ordem do alfabeto. Por exemplo, ('z' - 'a') == 26.

Exercício 5. Faça um programa para multiplicar duas matrizes. Suponha que as matrizes são quadradas (número igual de linhas e colunas).

Exercício 6. Faça um programa que declare uma matriz de 5x5 elementos do tipo double e que imprima a posição de cada elemento da matriz.