Vous êtes sur la page 1sur 7

Universidade Catlica de Angola Faculdade de Engenharia Curso de Informtica

joaquim Jos hangalo

Exerccios e questes sobre Arrays e Strings


Sobre Arrays
1. Implementar o procedimento lerVector() que preenche um vector com DIM valores reais (DIM >= 1); 2. Implementar o procedimento mostrarVector() que mostra um vector com DIM valores reais (DIM >=1); Consulte os livros de lgebra linear e: 3. Escreva um programa para calcular a transposta de uma matriz. 4. Escreva um programa para calcular o determinante de uma matriz. 5. Escreva um programa para inverter uma matriz. 6. Foi feita uma estatstica em algumas cidades angolanas para colectar dados sobre acidentes de trnsito. Foram obtidos os seguintes dados: cdigo da cidade nmero de veculos de passeio nmero de acidentes de transito com vtimas Faa um programa que leia estes dados e mostre: qual o maior e o menor ndice de acidentes de transito e a que cidades pertencem qual a mdia de veculos nas cidades juntas qual a mdia de acidentes de trnsito nas cidades com menos de 2.000 veculos de passeio OBS.: A quantidade de cidades a serem lidas um nmero a ser digitado pelo utilizador 7. Faa um programa para contagem de votos numa eleio presidencial onde existem quatro candidatos. Os votos para cada candidato so informados atravs do nmero do candidato. Os dados utilizados para a contagem dos votos obedecem seguinte codificao: 1,2,3,4 = voto para os respectivos candidatos; 5 = voto nulo;

6 = voto em branco; O programa deve calcular e mostrar: total de votos para cada candidato; total de votos nulos; total de votos em branco; Para finalizar a leitura de votos, o utilizador deve digitar 0. 8. Faa um programa que imprima uma matriz quadrada de dimenso 2 contendo: o nmero 1 nos elementos abaixo da diagonal principal o nmero 0 nos demais elementos 9- Faa um programa que leia uma matriz A de duas dimenses com 4 linha e 5 colunas. Construir uma matriz B de mesma dimenso, sendo que cada elemento da matriz B dever ser o dobro de cada elemento correspondente da matriz A, com excepo para os valores situados na diagonal principal (posies B[1,1], B[2,2], B[3,3], B[4,4] e B[5,5]) os quais devero ser o triplo de cadaelemento correspondente da matriz. Apresentar ao final a matriz B. 10. Faa um programa que leia um vector A com 10 nmeros inteiros, calcule e mostre a soma dos quadrados dos elementos do vector. 11. Dada uma tabela de 4x5 elementos, faa um programa para calcular a soma de cada linha da matriz. Apresente o somatrio de cada linha, e o somatrio total de todas as linhas. 12. Elaborar um programa que efectue o clculo de uma tabuada de um nmero qualquer e armazene os resultados numa matriz A de uma dimenso para 10 elementos. Apresentar os valores armazenados na matriz. 13. Construir um programa que leia 6 elementos (valores inteiros) para as matrizes A e B de uma dimenso do tipo vector. Construir as matrizes C e D de mesmo tipo e dimenso, sendo que a matriz C dever ser formada pelos elementos de ndice par das matrizes A e B, e a matriz D dever ser formada pelos elementos de ndice mpar das matrizes A e B. Apresentar as matrizes C e D. 14. Escreva um programa que leia uma matriz A de duas dimenses com 4 linha e 5 colunas. Construir uma matriz B de mesma dimenso, sendo que cada elemento da matriz B dever ser o dobro de cada elemento correspondente da matriz A, com excepo para os valores situados na diagonal principal (posies B[1,1], B[2,2], B[3,3], B[4,4] e B[5,5]) os quais devero ser o triplo de cada elemento correspondente da matriz. Apresentar ao final a matriz B. 15. Dada uma tabela de 4 x 5 elementos, faa um programa para calcular a soma de cada linha e a soma de todos os elementos da matriz. 16. Escreva um programa que l uma matriz M(5,5) e calcula as somas: a) da linha 4 de M b) da coluna 2 de M c) da diagonal principal d) da diagonal secundria e) de todos os elementos da matriz Escreva estas somas e a matriz. 17. Construir um programa que l 6 valores, e conta quantos destes valores so negativos. Armazene estes valores num vector. Ao final, imprima a mdia aritmtica destes valores. 18. Implemente um programa que tenha as seguintes funes:

  #    1          '  %   6   %5     1  &   6   %5     2    2 6   %5     (   3    2     1     &   4 ' %'  #          %   &   1     2        " &  2              " &     %            " & 3             & 2 2 3    (       %       &   %    1      " &       3          %                %     2  3   %  & 2   &   2  %   2    1          %  
20 a a a aa t a ( 50 a a t a a t a af t) a a a a at t f at 21 a a a a a aa a a a 52a O a a v t a a (v a t a t a ) O a ( 50 a a t ) t a af t () a ta a a O a a v a a a a a a a a aa O a a af a ta v a ta a t a a a a a a a at a a a at a a a at a a t a a a va va a U a ta a a aaf a 22 O k a v ta a at 9 9 t t 1 9 ta f a a a a a a aa a t a a a a a a a aa a t a a a a at 3 3 a a a a a t a a a a a a a a v f a a at 9 9 a k a a va a a a ) a a va a a Na f a v a ta a a a a v t a t ta a a v a a 19 U Q a a t ta f t 3 3 a t a f a Q a a a) a t v t a t t a a t aa t a v t a f a a a a ta a a at a t t a C N N v t a a v t v t a t a at a v t a at t a ta a a t a ta a a a a N N a t v t t v t 100 a U a a v f a t t t t ta f ta f a a a a a a a a v a aa t a

 %     0    %       2   1        1   2     %    %   %     1    %  2        2   2 (              % 0          1         !    ( (              )  (  '  %     % '  &     % $    #   "                  !                                                                          
aaa a a a a a a a t a a a at va at a a a a a v t N(<5) ta a a t t a a a a

Dica pa a v ifica a presena nica de cada dgit em cada linha coluna ou submatriz, utilize um vector auxiliar de tamanho 10

sob e Strings
Verificao de conhecimentos 1 possvel individuar um elemento singular de uma string? Se sim, como? 2 Que possibilidades existem para atribuir uma string a uma varivel array de char? Apresentar alguns exemplos que mostrem o quanto foi afirmado. 3. O que , para que server e como utilizado o carcter \0? 4. Como se faz para obter a visualizao do valor decimal correspondente, no cdigo de referencia do sistema utilizado (geralmente ASCII), de um certo carcter. 5. Como se pode obter a entrada de uma string que pode conter espaos com scanf? Com tal escolha, quando se termina a entra dos caracteres? 6. Existe uma ordem entre todos os caracteres? Se existe diga se maior que p ou viceversa? 7. As letras maisculas t m o cdigo decimal maior que as minsculas? 8. O que se entende por contenao de duas strings? 9. verdade que bem-vindo maior que bem-Vindo e Petro maior que Libolo? 10. Para atribuir valores alfanumricos, quando se deve utilizar aspas e quanto utilizar plicas? 11. Entre as funes da biblioteca encontradas, quais operam sobre arrays de caracteres, e qual o seu efeito?

89

C C

12. verdade que o compilador que trata de advertir quando se tenta fazer referencia a valores de ndice fora dos limites de um arra de caracteres?

Aplicar as habilidades
Utilize mensagens explicativas quando pretender efectuar entradas e sadas de dados.

1. Escrever um programa que, sem utilizar as biblioteca string.h, concatene a uma string os primeiros cinco caracteres de uma segunda string. 2. Escreva um programa que compare duas strings, limitadamente aos primeiros cinco caracteres, e sucessivamente mostrar os resultado da comparao. O programa no deve utilizar a biblioteca string.h 3. Escreva um programa que obtenha o mesmo efeito solicitado na questo 1 mas utilizando a funo strncat da biblioteca string.h 4. Escreva um programa que obtenha o mesmo efeito solicitado na questo 2, mas utilizando a funo strncmp da biblioteca string.h 5. Data a seguinte atribuio string exerccio char *exerccio= ABCDEFGHIJLKM OP RSTUVXZ ;

mover os caracteres numricos para depois das letras minsculas e antes das letras maisculas, de modo que a string assuma o valor abcdefghijlkmnopqrstuvxz1234567890 ABCDEFGHIJLKM OP RSTUVXZ ; Efectuar as operaes necessrias sem utilizar constantes qus identificquem as posies dos caracteres, mas identificar dinamicamente tais posies, de modo que o programa tenha uma valncia mais geral. 6. Escreva um programa que solicite do utilizador as strings frase, palavra1 e palavra2, controle se em frase est contida palavra1, se sim, substituir todas as suas ocorrncias com palavra2 7. Escreva um programa que controle se uma string solicitada do utilizador palindroma (Uma string se diz palindroma se se l da mesma da esquerda para a direita e da direita para a esquerda. So exemplos de strings palindromas: A A, radar, anilina). 8. Escreva um programa que, solicite do utilizador uma string e controle se a mesma est composta por pelo menos trs caracteres iguais consecutivos

PP

1234567890abcdefghijlkmnopqrstuvxz

9. Escreva uma programa que solicite do utilizador um carcter e uma string e calcule o numero de ocorrncias do carcter na string. 10. Escreva uma programa que, lida uma string composta apenas por letras do alfabeto, mostre o numero de vogais, o nmero de consoantes e a letra mais frequente. 11. Escreva um programa que, lida uma string composta apenas de cifras (09), mostre junto de cada cifra o numero de vezes que esta aparece na string [Ateno: possvel fazer o programa utilizando apenas um ciclo] 12. Escreva um programa que solicite do utilizador uma string e mostre uma segunda, obtida da primeira substituindo todas as letras minsculas com as correspondentes maisculas. 13. Resolver todos os exerccios utilizando para cada objectivo uma funo personalizada. 14. Construa uma mquina de calcular onde os comandos so dados por texto e tm a seguinte forma: operacao operando1 operando2 Por exemplo, para a soma, subtraco, multiplicao e diviso temos, respectivamente: soma 10 2 R: 12 subtracao 5 10 R: -10 multiplicacao 3 7 R: 21 divisao 15 3 R: 5 quit O ltimo comando permite sair do programa! 15. Indique qual o problema do seguinte programa: 1. 2. 3. 4. 5. 6. 7. 8. 9. #include <stdio.h> #include <string.h> int main() { char str[10]; strcp (str, Isto um teste ); printf(str); }

16. Construa um programa que pede duas strings (str1 e str2) e cria uma nova string com os caracteres alternados, ou seja: os dois primeiros caracteres so o primeiro caracter da str1 e o primeiro da str2, o terceiro e quarto caracteres so o segundo caracter da str1 e o segundo da str2 e assim sucessivamente. Por exemplo, a string "Ola" e "IPP" dariam origem a "OIlPaP". 17. Construa um programa que pede uma string e codifica-a numa nova string tirando os caracteres do principio e do fim sucessivamente, comeando pela esquerda. Pra quando chegar ao meio da string. Por exemplo, a string "IPP ESTG" d origem string codificada "IGPTPS E". 18. Construa um programa que pede 10 strings e em seguida permite mostr-las, uma de cada vez, pela ordem que o utilizador indicar. O utilizador deve indicar qual a string utilizando o nmero de ordem em que ela foi inserida. uando for inserido um nmero negativo o programa pra. 19. Construa um programa que funcione como um dicionrio electrnico, ou seja, o utilizador insere uma palavra e o programa mostra o seu significado. 20. Faa um programa que leia duas palavras do teclado e determine: - Se as palavras so iguais; - Caso as palavras sejam diferentes, qual delas tem maior comprimento; - Verifique se a palavra menor uma sub-string da palavra maior: Exemplo1: Palavra 1 = casamento Palavra 2 = casa Exemplo2: Palavra 1 = mar Palavra 2 = amarelo 21- Criar um programa capaz de calcular o tempo entre dois horrios quaisquer de um determinado dia. O programa deve ler dois horrios, no formato HH:MM:SS (dois dgitos para hora, dois para minutos e dois para segundos). O programa deve verificar se o horrio vlido (HH entre 00 e 23, MM entre 00 e 59, SS entre 00 e 59). O programa deve ter uma funo para calcular a quantidade de segundos em um horrio, e outra funo para calcular e imprimir a quantidade de horas, minutos e segundos.

Vous aimerez peut-être aussi