Lista de Vetores

Propaganda
1
Disciplina: LPG-I
Prof. Flavio Marcello Strelow
LISTA 3: Exercícios sobre Vetores
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- 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.
2
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.
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:
ler A e B.
Calcular a soma dos elementos de A.
Calcular a soma dos elementos de B.
Obter o vetor C, que é a soma dos vetores A e B.
Obter o vetor D, subtraindo B de A.
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
contidos no vetor.
estão
3
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.
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
2
0
4
3
-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
7
1
2
-4
Então C vai ser: 7 + x + 2x2 - 4 x3 
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.
4
31- Para o vetor A, construa um vetor P formado pelos índices dos elementos pares de A.
A = [ 1 3 6 7 8 ] então
P= [2 4]
Exemplo:
Se
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?
BOM TRABALHO!!!!!!!
Download