Buscar

Lista de Execicios de vetores e ponteiro

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

UNIVERSIDADE FEDERAL DO PIAUÍ – UFPI
CAMPUS SENADOR HELVÍDIO NUNES DE BARROS – CSHNB
CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO
 
 
 Exercícios Propostos na disciplina Estrutura de Dados I 
1) (UFES) Qual o valor de y no final do programa? Tente primeiro descobrir e depois verifique no
computador o resultado. A seguir, escreva um /* comentário */ em cada comando de atribuição
explicando o que ele faz e o valor da variável à esquerda do '=' após sua execução.
2) (UFJF) Escreva uma função que recebe como parâmetro um vetor de inteiros v, o número de seus
elementos N e ponteiros para variáveis nas quais devem ser armazenados os valores máximo e
mínimo do vetor. Sua assinatura deve ser: void maximoMinimo(int *v, int N, int *maximo, int
*minimo);
3) (UDESC) O que faz o seguinte programa quando executado? 
4) (UFPR) Crie um programa que declare duas variáveis (inteiro e real) atribua valores para elas e
crie dois ponteiros, cada um apontando para uma destas variáveis. Mostre na tela: O valor e o
endereço de memória das variáveis, o valor do ponteiro, o endereço do ponteiro e o valor apontado
pelo ponteiro. Qual destes valores são iguais? Justifique.
5) (USP) O que faz a seguinte função? 
 void imprime (char *v, int n) {
 char *c;
 for(c = v; c < v + n; v++)
 printf( "%c", *c); 
 } 
6)(UFJF) Escreva uma função que recebe uma string de caracteres e uma letra e devolva um vetor
de inteiros contendo as posições (índices no vetor da string) onde a letra foi encontrada e um inteiro
contendo o tamanho do vetor criado(total de letras iguais encontradas). Utilize o retorno de um
vetor para retornar os índices e um ponteiro para guardar o tamanho do vetor. 
7)(UFES) Diga quais expressões abaixo são válidas ou não e justifique. Considere as declarações.
 int vetor[10];
 int *ponteiro;
 
 a)vetor = vetor + 2;
 b)vetor ++;
 c) vetor = ponteiro;
 d)ponteiro = vetor;
 e)ponteiro = vetor+2;
8)(UDESC) Seja vet um vetor de 4 elementos: TIPO vet[4]. Supor que depois declaração, vet esteja
armazenando no endereço de memória 4092( ou seja, o endereço de vet[0]). Supor também que na
máquina usada uma variável do tipo char ocupa 1 byte, do tipo int ocupa 2 bytes, do tipo float
ocupa 4 bytes e do tipo double ocupa 8 bytes. Qual o valor de vet+1, vet+2 e vet+3 se:
 a) vet for declarado como char? 
 b) vet for declarado como int?
 c) vet for declarado como float?
 d) vet for declarado como double? 
9) (UFPR) Crie uma struct para armazenar os dados (nome, idade, posição, numero_camisa) dos
jogadores de vôlei de um time. Crie duas estruturas para armazenar os jogadores principais e os
reservas. Desenvolva um programa que o usuário consiga entrar com os jogadores principais(seis) e
reservas(4) e mostre-os na tela. Para Facilitar a entrada de dados, utilize um menu.
10) (UDESC) Suponha a declaração: int mat[4], *p, x; Quais expressões são válidas? Justifique: 
a) p = mat +1; b) p = mat++; c) p = ++mat; d) x = (*mat)++;
11)(USP) Um ponteiro pode ser usado para dizer a uma função onde ela deve depositar o resultado
de seus cálculos. Escreva uma função hm que converta minutos em horas-e-minutos. A função
recebe um inteiro mnts e os endereços de duas variáveis inteiras, digamos h e m, e atribui valores a
essas variáveis de modo que m seja menor que 60 e que 60*h + m seja igual a mnts. Escreva
também uma função main que use a função hm. 
12)(UFES) Explique o que faz o programa abaixo:
13) Faça um programa, utilizando ponteiros, para ordenar os valores de um vetor de inteiros e
imprima o resultado na tela.
14) Explique conceitualmente e exemplifique as notações e símbolos reservados da linguagem C na
manipulação de vetores e ponteiros, explorando os conhecimentos assimilados nas respostas das
questões anteriores.
15) Discorra sobre as vantagens e desvantagens da utilização, em algoritmos de estruturas de dados,
de ponteiros e vetores na resolução de problemas computacionais?

Continue navegando

Outros materiais