Exercícios propostos

Aula prática nº 3


Exercícios



  1. Escreva uma função que lê caracteres do teclado, caracter a caracter, até encontrar o caracter '\n' ou EOF. A função recebe o numero máximo de caracteres a ler e a string onde devem ser guardados. A função retorna o nº de caracteres lidos. Usando esta função, escreva um programa que lê uma string e que a volta a escrever no écran. Suponha que as strings a ler não podem ser maiores que 80 caracteres. Use a função getc para ler os caracteres do teclado.
  2. Escreva uma função que lê uma string do teclado (com tamanho máximo de 20 caracteres) e devolve o numero inteiro representado pela string (atoi).
  3. Escreva uma função que recebe uma string como argumento e verifica se a string é um palíndromo ou não. Uma palavra é um palíndromo se se ler da mesma maneira da esquerda para a direita e vice-versa. Faça a solução deste exercício com duas versões, uma que usa índices e outra que usa ponteiros.
  4. Construa um programa que lê strings do teclado e usa a função anterior para indicar se estas são palíndromos. Todas as strings terão no máximo 80 caracteres (incluindo o caracter terminal).
  5. Escreva uma função que concatena duas strings. A função recebe 2 argumentos, a string destino e a string fonte. A função adiciona ao fim da string destino o conteúdo da string fonte. Assuma que a string destino tem espaço suficiente para guardar a 2 string. A função retorna um ponteiro para o inicio da string destino.
  6. Escreva uma função que inverta a ordem pela qual estão guardados os elementos de um vector de float. A função recebe 2 argumentos, o vector e o seu tamanho total em bytes. Faca um programa que lê um vector de floats inseridos pelo utilizador. Primeiro pergunta-se ao utilizador qual o tamanho do vector. Depois inverte-se o conteúdo do vector e escreve-se o vector invertido no écran.
  7. Escreva uma função que recebe 3 vectores de doubles como argumentos. Os dois primeiros estão ordenados e o 3º vector tem um tamanho pelo menos igual `a soma dos tamanhos dos dois primeiros vectores. Esta função deve retornar no 3 argumento o conteúdo ordenado dos dois primeiros vectores.