lista2-vetores

Propaganda
1
Lista de Exercícios Vetores
Para a implementação de programas que solucionem os
problemas a seguir identifique se existe necessidade de
aplicar estruturas de controle de fluxo, vetores, etc.
1- O que será impresso pelos programas abaixo?
a) void main (void)
{ char a[8] = { 'p', 'e', 'i', 'i', 'm', 'r', 'a', 'r'};
int b[8] = { 5, 3, 4, 7, 1, 2, -1, 6};
int i=0;
while (i >= 0)
{ printf(" %c ",a[i]);
i = b[i];
}
}
b) void main ()
{ int v[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, i, mi = 0, ma = 9;
while ( mi != ma - 1 )
{ i = (mi + ma) / 2;
mi = i;
printf("%d - ", v[mi]);
}
}
c) void main ()
{ int v[10 ], i;
for (i= 0; i < 10; i++)
{ v[i] = i;
v[i] = v[10 -i ];
}
for (i= 0; i < 10; i++)
printf("%d ", v[i]);
}
d) void main ()
{ int v[10 ], i;
for (i= 0; i < 10; i++)
v[i] = (i+1)*10;
i = 0;
while (i < 10)
{ v[i] = v[i]/v[0];
printf("%d ", v[i]);
i+=1;
}
for (i= 0; i < 10; i++)
printf("%d ", v[i]);
}// end
2
Os itens devem ser implementados como função. Faça um programa que faz a
interação com o usuário e chama a função.
2- Faça um programa que leia N elementos de um vetor e um valor de código. Se o código
for 1, mostrar o vetor na ordem direta, se o código for 2, mostrar o vetor na ordem inversa.
3- Escreva um programa que leia e mostre um vetor de 20 elementos inteiros. A seguir,
conte quantos valores pares existem no vetor.
4- Escreva um programa que leia um vetor de 50 posições de números inteiros e mostre
somente os positivos.
5- Ler N elementos de um vetor A e um valor x. Criar o vetor B contendo os elementos
do vetor A multiplicados por x.
6- Criar um programa que defina um vetor de 500 posições e calcular a soma dos conteúdos
impares.
7- Escreva um programa que leia 200 valores , crie um vetor com tais valores e informe, a
seguir, qual a média dos valores positivos e qual a média dos valores negativos.
8- Fazer um programa, usando vetores, que leia 100 valores e verificar a quantidade de
elementos no vetor que são maiores que 4.0 e menores que 7.0.
9- Escreva um programa que leia um vetor inteiro de 30 posições e crie um segundo vetor,
substituindo os valores zero por 1. Mostre os 2 vetores.
10- Dado um vetor VIN de 10 elementos inteiros, criar um vetor VAI de 30 elementos
onde VAI[0], VAI[1] e VAI[2] recebe o valor de VIN[0] e assim por diante. Escrever um
programa que leia VIN e imprima VAI.
11- Dado um vetor A de números inteiros, obter a maior diferença entre dois elementos
consecutivos desse vetor. Imprimir a maior diferença e os índices dos respectivos
elementos.
12- Dado um vetor A de números reais, fazer um programa para obter o maior e o segundo
maior elemento do vetor.
13- Dado um vetor DIST com 15 distribuições de freqüências estatísticas, criar um vetor
ACUM, também de 15 elementos, contendo as distribuições acumuladas . O programa deve
ler DIST e imprimir DIST e ACUM.
14- Faça um programa que leia um vetor de 500 posições de números inteiros e divida
todos os seus elementos pelo maior valor do vetor. Mostre o vetor após os cálculos.
3
15- Seja um vetor A, construir dois vetores IMP e PAR, onde IMP é constituído dos
elementos cuja posição em A é ímpar e PAR é constituído dos elementos cuja posição é
par.
16- Seja um vetor A, construir ois vetores IMP e PAR, onde IMP é constituído dos
elementos ímpares de A e PAR, dos elementos pares.
17- Faça um programa que leia um vetor A de 100 posições. Em seguida, compacte o vetor,
retirando os valores nulos e negativos. Coloque o resultado no vetor B.
18- Escreva um programa que leia um conjunto de números inteiros, armazenando-os em
um vetor. O conjunto de números lidos deve ser menor que o tamanho do vetor. O
programa deve também ler um elemento e uma posição (índice) e inserir o elemento lido
na posição especificada, deslocando todos os elementos seguintes, uma posição a frente.
Imprimir o vetor.
19- Escrever um programa para ler um vetor de 20 posições. Em seguida, trocar o primeiro
elemento com o último, o segundo com o penúltimo, o terceiro com o antepenúltimo, e
assim sucessivamente. Imprimir o vetor após a troca.
20- Escreva um programa que leia dois vetores de 10 posições e faça a multiplicação dos
elementos de mesmo índice, colocando o resultado em um terceiro vetor. Mostre o vetor
resultante.
21- Seja A e B dois vetores contendo N elementos inteiros. Fazer um programa para:
a) ler A e B.
b) Calcular a soma dos elementos de A.
c) Calcular a soma dos elementos de B.
d) Obter o vetor C, que é a soma dos vetores A e B.
e) Obter o vetor D, subtraindo B de A.
f) Obter o produto escalar de A por B, isto é, A[0]*B[0] + A[1]*B[1] +
.......+ A[N-1]*B[N-1].
22- Dado um vetor de n inteiros, escreva um programa que imprima todos os múltiplos de 3
que estão contidos no vetor.
23- Dado dois vetores, A (N elementos) e B (M elementos), faça um programa que imprima
todos os elementos comuns aos dois vetores.
24- Seja um vetor de tamanho TAM. Fazer um programa lê os elementos do vetor, calcular
a devolve a maior soma entre dois elementos consecutivos do vetor.
25- Determine o tamanho T da maior seqüência de números iguais em um vetor A.
Exemplo: Supor que sejam digitados os seguintes valores para A: 1 1 6 6 7 7 7 7 1
1 1, então T = 4
26- Verifique se os elementos de um vetor A estão em ordem crescente.
4
27- Faça um programa para intercalar dois vetores A e B já ordenados, formando o vetor C,
também ordenado.
28- Dado um polinômio p(x) = a0 + a1x + a2x2 + ... + anxn, faça um programa que calcule
p(x). Dados de entrada: grau n do polinômio, coeficientes do polinômio a0, a1, a2, ..., na e
o valor de x .
Obs.: representação de um polinômio em um vetor:
Seja o polinômio de grau 3:
-1 + 4x - 2x3
Sua representação no vetor é a seguinte:
0
1
-1
4
2
3
0
-2
4
5
29- Dado um polinômio A(x) = a0 + a1x + a2x2 + ... + anaxna e um segundo polinômio
B(x) = b0 + b1x + b2x2 + ... + bnbxnb, faça um programa (programa) que:
a) Leia os polinômios A(x) e B(x), armazenando-os nos vetores A e B respectivamente. Os
dados de entrada são: grau na do polinômio A, grau nb do polinômio B e coeficientes dos
polinômios A e B. A representação de um polinômio em um vetor já foi mostrada no
exercício anterior.
b) Calcule o vetor C, onde este representa a soma do polinômio A com o polinômio B.
Exemplo: Supor A: 7 - x + 2x2 
7
-1
2
Supor B:
2x - 4 x3 
0
2
0
-4
Então C vai ser: 7 + x + 2x2 - 4 x3 
7
1
2
-4
c) Calcule o vetor M, onde este representa o produto do polinômio A pelo polinômio B.
Para o exemplo acima, M deve ser: 14x - 2x2 - 24x3 + 4x4 - 8x5 
0
14
-2
-24
4
-8
d) Imprimir os vetores C e M.
30- Considere os vetores A e B de inteiros positivos. Determine o vetor C que é a
interseção de A com B. Utilize o valor -1 para indicar final de vetor. Obs.: Caso
algum vetor seja vazio, deve conter apenas o valor -1.
5
31- Para o vetor A, construa um vetor P formado pelos índices dos elementos pares de A.
Exemplo: Se A = [ 1 3 6 7 8 ] então
P= [2 4]
32- Escreva um programa que leia um vetor de 13 elementos inteiros, que é o gabarito de
um teste da loteria esportiva, contendo os valores 1(coluna 1), 2 (coluna 2) e 3 (coluna do
meio). Leia, a seguir, para cada apostador, o número do seu cartão e um vetor de respostas
de 13 posições. Verifique para cada apostador o números de acertos, comparando o vetor de
gabarito com o vetor de respostas. Escreva o número do apostador e o número de acertos.
Se o apostador tiver 13 acertos, mostrar a mensagem "ganhador". Finalizar inserindo oum
número de apostador negativo.
33- Escrever um programa para obter os 10 primeiros números primos acima de 100 e os
armazenar em um vetor de 10 posições, na ordem em que são obtidos.
34- Escrever um programa para ler um vetor de 15 elementos e a seguir, obter um segundo
vetor contendo todos os números primos do vetor inicial. Imprimir os vetores.
35- Escrever um programa para ler um vetor de 25 elementos e verificar quantos valores
distintos que aparecem no vetor e contar também vezes cada valor aparece.
36- Faça um programa que leia um vetor de 500 posições de números inteiros e divida
todos os seus elementos pelo maior valor do vetor. Mostre o vetor após os cálculos.
37- Uma locadora de vídeos tem guardada, em um vetor de 500 posições, a quantidade de
filmes retirados por seus clientes durante o ano de 1998. A locadora está fazendo uma
promoção e, para cada 10 filmes retirados em 1998, o cliente tem direito a uma locação
grátis. Faça um programa que crie um outro vetor contendo a quantidade de locações
gratuitas a que cada cliente tem direito. Obs.: Cada posição do vetor está relacionada a um
cliente. Imprimir também o índice do cliente que recebeu o maior número de locações.
Caso exista mais de um cliente com o mesmo número, imprimir todos.
38- Existe um livro de 370 páginas que foi recentemente impresso. A editora deseja fazer
um estudo sobre possíveis erros de impressão. Desta forma, um especialista foi convidado a
levantar quantos erros existem em cada página. Cada valor foi digitado na forma de um
vetor, formando um conjunto de 370 valores. Definir um programa que leia este conjunto
de dados, e responda:
a) qual a página que tem mais erros? (suponha que só existe uma e ela é única)
b) quantas páginas tem zero erros?
c) quantas páginas tem mais de 10 erros?
6
BOM TRABALHO!!!!!!!
Download