Você está na página 1de 4

Lista de Exerccios 4: Ponteiros e Vetores:

09/11/2013

1. Escreva um programa em C para ler um vetor X de 10 elementos inteiros. Logo aps copie os elementos do vetor X para um vetor Y fazendo com que o 1o. elemento de X seja copiado para o 10o. de Y, o o. de X para o !o. de Y e assim sucessivamente. "ps o t#rmino da cpia, imprimir o vetor Y. 2. Escreva um programa em C para ler um vetor $ %de & elementos' e um vetor ( %de 10 elementos'. )ere um vetor X que possua os elementos comuns a $ e a (. Considere que pode e*istir repeti+,o de elementos no mesmo vetor. -esta situa+,o somente uma ocorr.ncia do elemento comum aos dois deve ser copiada para o vetor X. "ps o t#rmino da cpia, escrever o vetor X. 3. / que ser0 impresso na tela pelo seguinte programa1 int main() { int numbers[5]; int *p; int n; p = numbers; *p = 10; p++; *p = 20; p = &numbers[2]; *p = 30; p = numbers + 3; *p = 40; p = numbers; *(p + 4) = 50; f r (n = 0; n ! 5; n++) printf("#$%& numbers[n]); ' 4. 2mplemente uma fun+,o que rece3a como par4metros um vetor de n5meros inteiros v e seu comprimento n, e verifique se os elementos do vetor correspondem aos termos de uma 6" %6rogress,o "ritm#tica', isto #, se e*iste um n5mero inteiro 7 tal que v8i9:v809;7<i. Caso os elementos do vetor correspondam aos termos de uma 6", a fun+,o deve retornar o valor calculado para 7. 6or e*emplo, se for passado para essa fun+,o o vetor = ,10,1>, ?,@AB a fun+,o deve retornar o valor >. Caso o vetor n,o corresponda a uma 6", a fun+,o deve retornar o valor 0. "ssuma que o vetor sempre ter0 pelo menos @ elementos. Essa fun+,o deve ter o seguinte prottipo1 int testaC6"%int n, int< v'

5. Desde mar+o deste ano, os @@ t0*is da cidade de $io das /stras tiveram que instalar a aferir ta*Emetros para o c0lculo do valor das corridas. De acordo com a ta3ela em vigor, a tarifa inicial %ou 3andeirada' custa $FA,!&. "l#m disso, para cada quilGmetro percorrido s,o co3rados mais $F ,&0, na 3andeira 1, ou $F@,00, na 3andeira . Escreva uma fun+,o em C que calcula os valores da corrida de t0*i em $io das /stras. " fun+,o rece3e como par4metros o valor real dist, correspondendo H dist4ncia percorrida pelo t0*i %em quilGmetros', e os ponteiros 31 e 3 , indicando os endere+os onde devem ser armazenados, respectivamente, os valores calculados para a corrida na 3andeira 1 e na 3andeira . void calculaCcorrida%float dist, float <31, float <3 'I

6. " cadeia que representa a parte local de um endere+o de eJmail Kotmail v0lido %aquela parte que vem H esquerda do LMN' tem no m0*imo ?A caracteres e pode conter apenas letras %OaP a OzP' e n5meros %O0P a O!P', e os caracteres ponto %O.P', QEfen %OJP' e su3linQado %OCP'. Ruaisquer outros caracteres especiais ou letras acentuadas n,o s,o permitidos. "l#m disso, a cadeia deve conter no mEnimo duas letras ou n5meros, seu primeiro caractere tem que ser necessariamente uma letra, e o caractere ponto %L.N' n,o pode aparecer em sequ.ncia ou ser o 5ltimo da cadeia. 6or e*emplo, LjsilvaN, Lt.o.n.SJ!!CN, L*J CCTJN s,o strings v0lidas, enquanto L@mariasN, LCpeterN, L3ia.N, La3c...zN s,o incorretas. Escreva uma fun+,o em C que rece3a como par4metros a cadeia s, representando a parte local de um endere+o de eJmail, e retorne 1 se a cadeia for v0lida de acordo com as condi+Ues descritas, ou 0, se for inv0lida. " fun+,o deve ter o seguinte prottipo1 int validaCmail%cQar <s'I

7. Camel case # a denomina+,o em ingl.s para a pr0tica de escrever, a partir de palavras compostas ou frases, e*pressUes constituEdas pelo agrupamento dessas palavras com a letra inicial maEuscula e as demais min5sculas, unidas sem espa+os. 6or e*emplo, L-otaDa6rovaN seria o correspondente em camel case H e*press,o Lnota da provaN. Este # um padr,o muito utilizado para a cria+,o de nomes de entidades em diversas linguagens de programa+,o, como Vava, $u3S e 6StQon. Escreva uma fun+,o em C que rece3e uma cadeia de caracteres e a transforma em uma cadeia no padr,o camel case, ou seja, remove os espa+os em 3ranco e converte para mai5sculas as letras iniciais de cada palavra. 6or simplifica+,o, considere que a cadeia de entrada cont#m apenas letras min5sculas %entre OaP e OzP e espa+os em 3ranco. 6or e*emplo, se a cadeia Lmedia da turmaN for passada para a fun+,o, ser0 transformada na cadeia LWediaDaXurmaN. / prottipo da fun+,o #1 void CamelCase %cQar <s'I /3s.1 uma outra pr0tica # manter a primeira letra min5scula. 6or e*emplo1 Lmedia da turmaN ser0 transformada na cadeia LmediaDaXurmaN. EscolQa qual a forma mais apropriada. cQar s8 09I strcpS%s,Nmedia da turmaN'I CamelCase%s'I

8. 2nicialize um vetor de inteiros aleatoriamente e percorra o vetor usando dois ponteiros 1 um come+ando do inEcio do vetor e outro do final at# se encontrarem no meio. /3s 1 / vetor deve conter um n5mero par de elementos. 9. Ya+a um programa com fun+Ues para1 a. ler T valores inteiros e os armazene em um vetorI 3. listar o conte5do do vetor com as referidas posi+Ues de armazenamentoI 3. pesquisar no vetor um valor inteiro qualquer de entrada e retornar a posi+,o deste valor. Caso esse valor n,o esteja presente no vetor, ent,o retornar Z1I c. trocar valores contidos no vetor pela seguinte polEtica1 cada elemento i dentro do vetor ser0 su3stituEdo pela soma de todos os %iJ1' elementos mais o elemento i. 6or e*emplo, dado um vetor 81I I @I AI &9, aps a aplica+,o da fun+,o terEamos esse vetor preencQido com os seguintes valores 81I @I ?I 10I 1&9. 6ara esta tarefa utilize um vetor au*iliar. 10. [m cinema que possui capacidade de 0 lugares est0 sempre lotado. Certo dia cada espectador respondeu a um question0rio, onde constava1 J sua idadeI J sua opini,o em rela+,o ao filme, que podia ser1 timo, 3om, regular, ruim ou p#ssimo. Ela3ore um programa que, rece3endo estes dados calcule e mostre1 a. a quantidade de respostas timoI 3. a diferen+a percentual entre respostas 3om e regularI c. a m#dia de idade das pessoas que responderam ruimI d. a porcentagem de respostas p#ssimo e a maior idade que utilizou esta op+,oI e. a diferen+a de idade entre a maior idade que respondeu timo e a maior idade que respondeu ruim. 11. Ela3ore um programa que, dado vetores inteiros de 0 posi+Ues, efetue as respectivas opera+Ues indicadas por um terceiro vetor de caracteres de 0 posi+Ues tam3#m fornecido pelo usu0rio, contendo as quatro opera+Ues aritm#ticas em qualquer com3ina+,o, armazenando os resultados num quarto vetor. 12. Ya+a um programa que rece3a uma string do usu0rio %m0*. 0 caracteres' e um caracter qualquer. / programa deve remover todas as ocorr.ncias do caracter da string e mostrar o resultado. 13. Yazer um programa para rece3er uma string do usu0rio %m0*. &0 caracteres' e fazer uma estatEstica dos caracteres digitados. 6or e*emplo, para a string \/ EXE$C2C2/ E Y"C2L\N, a estatEstica mostrada ser0 ]/] : , ] ]:@, ]E] : @, ]X] : 1, ]$] : 1, ]C] : @, ]2] : @, ]Y] : 1, ]"] : 1, ]L] : 1

Você também pode gostar