Anda di halaman 1dari 8

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

ESCOLA DE CINCIAS E TECNOLOGIA


ECT1203 Linguagem de Programao 2012.1
3 Lista de Exerccios

STRINGS
Questo 1: Faa um programa que receba do usurio uma string S e um caractere c. Em seguida o
programa deve imprimir na tela os nmeros de todas as posies de S que contm o caractere c.
Questo 2: Faa um programa que receba do usurio uma string S e um caractere c. Em seguida o
programa deve imprimir na tela a quantidade de ocorrncias de c em S.
Questo 3: Faa um programa que receba do usurio uma string S e dois caracteres c1 e c2. Em
seguida o programa deve substituir todas as ocorrncias de c1 em S por c2.
Questo 4: Faa um programa que receba do usurio uma string S. Em seguida o programa deve
imprimir na tela o comprimento de S (quantidade de caracteres antes do \0). No permitido
utilizar a funo strlen().
Questo 5: Faa um programa que receba do usurio duas strings S1 e S2. Em seguida o programa
deve criar e imprimir na tela a string S3, que deve ser igual concatenao de S1 com S2. No
permitido utilizar a funo strcat().
Questo 6: Faa um programa que receba do usurio duas strings S1 e S2. Em seguida o programa
deve imprimir na tela o valor 1 (um) caso a string S1 seja exatamente igual a S2 ou 0 caso contrrio.
No permitido utilizar a funo strcmp().
Questo 7: Faa um programa que receba do usurio uma string Nome, que representa o nome
completo de uma pessoa. Em seguida o programa deve imprimir na tela apenas as iniciais do nome
recebido. Por exemplo, Jose de Oliveira Silva, fica JOS.
Questo 8: Uma palavra denominada um palndromo se for invertida e a leitura da mesma
permanecer sem nenhuma alterao. Algumas palavras que so palndromos so: aba, radar, reter,
rever, rir, rotor, dentre outras. Construir um programa que detecte se uma palavra (string) digitada
pelo usurio ou no um palndromo.
Questo 9: Faa um programa que receba do usurio uma string S. Em seguida o programa deve
embaralhar, de forma aleatria, todas as letras S. Faa a impresso de S na tela ao trmino do
programa.
Questo 10: Faa um programa que receba do usurio uma string grande SG e uma string pequena
SP. Em seguida, o programa deve verificar se SP est em SG e, se for o caso, em que posio de SG se
inicia a string SP.
Questo 11: Dado o nome completo de uma pessoa em uma string, armazenar e apresentar este
nome da seguinte forma:
Maria de Bragana da Silva Oliveira
->
Maria B. S. Oliveira
Joo Pereira Silva santos
->
Joo P. S. santos

FUNES
Questo 12: O que ser impresso na tela pelo programa abaixo?
#include <iostream>
using namespace std;
int soma1(int a, int b);
void soma2(int a, int b, int& r);
int main()
{
int a, b, r=0;
cin >> a >> b;
soma1(a, b);
cout << a << b << r;
soma2(a, b, r);
cout << a << b << r;
return 0;
}
int soma1(int a, int b)
{
return a + b;
}
void soma2(int a, int b, int r)
{
r = a + b;
}

Questo 13: O que ser impresso na tela pelo programa abaixo?


int func1(int x);
int func2(int &x);
void func3(int &x, int &y);
void func4();
int x=10;
int main()
{
int a, b;
cin >> a >> b;
func1(a);
cout << a << b << x;
func2(a);
cout << a << b << x;
func3(a, b);
cout << a << b << x;
func4();
cout << a << b << x;
return 0;
}
int func1(int x)
{
x++;
cout << x;
return x;
}
int func2(int& x)
{
x++;
cout << x;
return x;
}
void func3(int& x, int &y)
{
x++;
y++;
}
void func4()
{
x++;
}

Questo 14: Escreva uma funo chamada nome que simplesmente imprima na tela o seu nome
completo. Escreva um programa que execute a funo nome.
Questo 15: Escreva uma funo para verificar se um nmero par ou impar. A funo deve receber
como parmetro um nmero inteiro n e retornar o valor 1 caso n seja par e 0 caso contrrio.
Questo 16: Escreva uma funo chamada somatorio que receba como parmetros 2 nmeros
inteiros n1 e n2 e retorne o somatrio de todos os nmeros inteiros contidos no intervalo [n1,n2].
Escreva um programa de teste que receba do usurio dois nmeros inteiros, passe-os como
parmetro para a funo somatorio e imprima na tela o valor resultante da mesma.
Questo 17: Faa uma funo que receba com parmetro um nmero float n e outros dois valores i e
d por referncia. Estes dois valores iro receber respectivamente a parte inteira e a parte decimal de
n. Em segida, escreva um programa principal que receba do usurio um valor v e imprima na tela a
parte inteira e a parte decimal de v.
Questo 18: Escreva uma funo chamada primo que receba como parmetro um nmero inteiro
positivo x e retorne 1 se x primo, ou 0 em caso contrrio. Em seguida, escreva um programa que
receba do usurio um inteiro no-negativo n e, utilizando a funo primo, imprima a soma dos n
primeiros nmeros primos.
Questo 19: Escreva uma funo chamada Troca3 que receba por referncia trs parmetros inteiros
a, b e c. Ao trmino da funo, a varivel a deve conter o valor de b, b deve conter o valor de c e c
deve conter o valor de a (a = b, b = c, c = a).
Dica: Uma forma de resolver o problema construir uma funo auxiliar chamada Troca2 que recebe
por referncia dois parmetros k1 e k2 e troca os valores dos mesmos (k1 = k2, k2 = k1). A funo
Troca3 deve utilizar a funo Troca2
Questo 20: Escreva uma funo chamada Ord3 que receba por referncia trs parmetros inteiros
a, b e c. Ao trmino da funo os valores de a, b e c devem ser ordenados de forma decrescente
nessas mesmas variveis, de tal forma que a >= b >= c. Por exemplo, se a = 5, b = 4 e c = 3, aps a
chamada da funo Ord3, a = 3, b = 4 e c = 5.

Questo 21: Calculadora: Escreva quatro funes chamadas adicao, subtracao, multiplicacao e
divisao que recebam cada uma como parmetros dois nmeros inteiros a e b e retornem
respectivamente a soma, a diferena, o produto e a diviso de a por b.
Crie outra funo chamada menu que imprima na tela as seguinte opes:
*****************
* Calculadora Simples. Opcoes possiveis:
* 1. Adicao
* 2. Subtracao
* 3. Multiplicacao
* 4. Divisao
* 5. Sair do programa
****************

Em seguida crie uma funo chamada opcao que receba do usurio um nmero inteiro
representando uma das opes acima. Se a opo for invlida, informe ao usurio e pea para ele
entrar com um novo nmero at que este represente uma opo vlida. A funo deve retornar a
opo vlida informada pelo usurio.
Por fim, crie um programa que utilize a funo menu para fazer a impresso do menu de opes na
tela; utilize a funo opcao para ler a opo do usurio; receba do usurio dois nmeros reais x e y e
utilize a funo apropriada para realizar a operao desejada pelo usurio. Imprima o resultado na
tela e volte a imprimir o menu, at que o usurio entre com a opo 5.

FUNES COM MATRIZES


Questo 22: Escreva uma funo chamada preencher, que receba como parmetro uma matriz
bidimensional M e dois nmeros inteiros l e c, representando respectivamente o nmero de linhas e
de colunas de M. A funo deve preencher todos os elementos de M com o valor 10. Em seguida,
crie um programa de testes que declare uma matriz A de 5 por 5 e utilize a funo preencher para
preencher essa matriz. Em seguida, faa a impresso de M na tela.

Questo 23: Escreva uma funo chamada somamat que receba como parmetro uma matriz M e
retorne o somatrio de todos os elementos de M.
Questo 24: Faa uma funo que receba como parmetro um vetor de nmeros inteiros V e um
parmetro inteiro por referncia n, que representa o tamanho de V. A funo deve retornar no
prprio vetor V, os nmeros que so maiores que seus vizinhos (Picos) e em n (por referncia), a
nova quantidade de elementos contidos em V. Considere que a lista circular, ou seja, o incio e o
fim esto ligados.
Ex.: Dados V = [2,3,5,10,5,5,6,2,3] e n = 9, aps a execuo da funo picos ==> V = [10,6,3] e n = 3.
Questo 25: Faa uma funo que receba uma matriz e retorne a matriz transposta. Escreva um
programa para testar a sua funo.

Questo 26: Um palndromo uma palavra ou uma frase que tenha a propriedade de poder ser lida
tanto da direita para a esquerda como da esquerda para a direita. Num palndromo, normalmente
so desconsiderados os sinais ortogrficos assim como os espaos entre as palavras. As seguintes
frases so exemplos de palndromos:
Ande Edna.
Aps a sopa.
Socorram-me subi no nibus em Marrocos.
a) Escreva uma funo na linguagem C++ que receba como parmetro uma String e que retorne
o valor 1 (um) caso a String recebida seja um palndromo ou 0 (zero) em caso contrrio.
Considere que a String no contm caracteres em branco, sinais de pontuao ou caracteres
acentuados e todos os caracteres so minsculos.
b) Escreva um programa que leia do usurio uma String qualquer, com no mximo 200
caracteres, e que imprima na tela se a mesma um palndromo ou no. Utilize
obrigatoriamente a funo definida no item a. Assuma que a String fornecida pelo usurio
no contm caracteres em branco, sinais de pontuao ou caracteres acentuados e todos os
caracteres so minsculos.
Questo 27: Escreva um programa que leia duas cadeias de caracteres (strings) e imprima se a
segunda cadeia aparece no final da primeira cadeia. O seu programa deve obrigatoriamente usar a
funo (escrita por voc) strend que tem o seguinte prottipo:
int strend(char s[], char t[]);
Descrio: A funo recebe duas cadeias de caracteres e verifica se a cadeia t est ao final da cadeia s.
Retorno: A funo retorna 1 se a cadeia t est no final da cadeia s e 0 no caso contrrio.

Entrada do Programa: A entrada composta de duas cadeias de caracteres de at 100 caracteres.


Sada do Programa: A sada deve imprimir uma mensagem informando se a segunda cadeia est no
nal da primeira cadeia ou no.
Exemplo de entrada e sada:
Cada entrada composta somente de duas cadeias de caracteres. O texto Exemplo n apenas
ilustrativo e serve para separar as vezes em que o usurio executou o programa.

Questo 28: Uma matriz quadrada chamada de matriz de permutao se seus elementos so
apenas 0s e 1s e se em cada linha e coluna da matriz existe apenas um nico valor 1. Por exemplo, a
matriz abaixo de permutao.
1
0
0
0

0
0
0
1

0
0
1
0

0
1
0
0

Escreva funo chamada permutacao que receba como parmetro uma matriz quadrada M e retorne
o valor 1 (um) caso a matriz seja de permutao ou 0 (zero) caso contrrio. Alm da matriz M, a
funo permutacao pode receber outros parmetros que voc julgue necessrio.

FUNES RECURSIVAS
Questo 29: Utilizando funes recursivas, escreva uma funo na linguagem C++ que implemente a
funo f(x), matematicamente definida por:
( )

Questo 30: Utilizando funes recursivas, implemente programas na linguagem C++ que:
a)
b)
c)

Mostre na tela o somatrio de 1 at um nmero digitado pelo usurio


Mostre na tela os n primeiros nmeros da srie de Fibonacci.
Somar os elementos de um vetor passado como parmetro.

Questo 31: Sendo


x
Faa uma funo recursiva para o clculo da potncia. Assuma potncia inteira positiva, e em uma
segunda verso considere tambm potncias negativas.

Anda mungkin juga menyukai