{Elabore um programa para ler um vetor de 10 posições de elementos inteiros.
Calcule e mostre:
a) os elementos das posicoes de indices impar;
b) a soma dos elementos de indice par;
c) a media dos elementos de indice impar;
d) a quantidade de elementos iguais a 33;
e) a quantidade de elementos maiores que a media de todos os elementos da matriz;
f) os elementos do vetor ordenado (decrescente);
g) uma pesquisa sequencial de um elemento da lista, indicando a posicao
onde se encontra.
h) a soma dos elementos impares e a soma dos elementos pares. }
program vetor70posicoes;
uses crt;
var
elementos,aux_pesq : array [1..10] of integer;
i,j,aux,soma,quant33,qmaior_media : integer;
soma_imp,soma_par,pesq,cont_impar,cont_par,cont : integer;
resp : char;
acha : boolean;
media : real;
begin
clrscr;
writeln ('Cadastramento dos elementos de um vetor:');
writeln;
{**** CADASTRAMENTO DOS ELEMENTOS ****}
writeln ('Digite os numeros: ');
writeln;
for i:= 1 to 10 do
readln (elementos[i]);
{**** LISTAGEM DOS ELEMENTOS ****}
writeln;
writeln ('Listagem dos numeros cadastrados: ');
writeln;
for i:= 1 to 10 do
write (' ',i,'o. ',elementos[i],' ');
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** a) IDENTIFICAR OS ELEMENTOS DAS POSICOES DE INDICE IMPAR ****}
writeln ('Listagem dos elementos das posicoes de indice impar: ');
writeln;
for i:= 1 to 10 do
if (i mod 2 <> 0) then
writeln (' ',i,'o. ',elementos[i],' ');
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** b) SOMA DOS ELEMENTOS DAS POSICOES DE INDICE PAR ****}
cont:=0;
soma:=0;
writeln ('Soma dos elementos das posicoes de indice par: ');
writeln;
for i:= 1 to 10 do
if (i mod 2 = 0) then
begin
soma:= soma + elementos[i];
cont:= cont + 1;
end;
writeln;
writeln ('O total de elementos de indice par e: ',cont);
writeln ('O resulado da soma dos elementos de indice par e: ',soma);
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** C) MEDIA DOS ELEMENTOS DAS POSICOES DE INDICE IMPAR ****}
media:=0;
soma:=0;
cont_impar:=0;
writeln ('Soma dos elementos das posicoes de indice impar: ');
writeln;
for i:= 1 to 10 do
if (i mod 2 <> 0) then
begin
cont_impar:= cont_impar + 1;
soma:= soma+elementos[i];
end;
media:= soma/cont_impar;
writeln ('Soma dos elementos: ',soma);
writeln ('Total de elementos de indice impar: ',cont_impar);
writeln ('A media dos elementos e: ',media:2:1);
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** d) a quantidade de elementos iguais a 33 ****}
quant33:=0;
writeln;
for i:= 1 to 10 do
if elementos[i] = 33 then
quant33:= quant33 + 1;
writeln ('Quantidade de elementos iguais a 33 e: ',quant33);
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** e) a quantidade de elementos maiores que a media de todos os elementos da matriz****}
media:=0;
soma:=0;
writeln;
writeln ('Elementos maiores que a media de todos os elementos da matriz: ');
{**** CALCULO DA MEDIA DE TODOS OS ELEMENTOS ****}
for i:= 1 to 10 do
soma:= soma+elementos[i];
media:= soma/10;
writeln;
writeln ('Media dos elementos: ',media:10:1);
writeln;
{**** SOMA DOS ELEMENTOS MAIORES QUE A MEDIA DE TODOS ELEMENTOS DA MATRIZ ****}
soma:=0;
cont:=0;
for i:= 1 to 10 do
if elementos[i] > media then
begin
soma:= soma+elementos[i] ;
cont:= cont+1;
end;
writeln ('Soma dos elementos maiores que a media: ',soma);
writeln ('Total de numeros maiores que a media : ',cont);
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** f) os elementos do vetor ordenado (decrescente) ****}
writeln;
writeln ('Ordenando os vetores na ordem "CRESCENTE": ');
for i:= 1 to 9 do
for j:= i+1 to 10 do
if (elementos[i] < elementos[j]) then
begin
aux:=elementos[i];
elementos[i]:= elementos[j];
elementos[j]:= aux;
end;
{**** LISTAGEM DOS ELEMENTOS ORDENADOS - ORDEM DECRESCENTE ****}
writeln ('Listagem dos numeros cadastrados - ordenados: ordem decrescente ');
writeln;
for i:= 1 to 10 do
write (' ',i,'o. ',elementos[i],' ');
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
{**** g) uma pesquisa sequencial de um elemento da lista, indicando a posicao
onde se encontra. ****}
{**** PESQUISA SEQUENCIAL NAO ORDENADA****}
writeln;
resp:= 'S';
while (resp = 'S') or (resp = 's') do
begin
{**** ROTINA DE PESQUISA ****}
writeln;
write ('Entre com o numero a ser pesquisado: '); readln (pesq);
i:=1;
acha:=false;
while (i<=10) and (acha = false) do
if (pesq = elementos[i]) then
acha:= true
else
i:= i + 1;
if (acha = true) then
writeln (pesq,' foi localizado na posicao ',i)
else
writeln (pesq,' nao foi localizado');
{**** FIM DA ROTINA DE PESQUISA ****}
writeln;
write ('Deseja continuar pesquisando: S/N: ');
readln(resp);
end;
{**** h) a soma dos elementos impares e a soma dos elementos pares. ****}
soma:=0;
cont_par:=0;
cont_impar:=0;
writeln;
writeln ('Soma dos elementos impares e pares: ');
writeln;
for i:= 1 to 10 do
if (elementos[i] mod 2 <> 0) then
begin
soma_imp:= soma_imp+elementos[i];
cont_par:= cont_par+1;
end
else
begin
soma_par:= soma_par + elementos[i];
cont_impar:= cont_impar+1;
end;
writeln ('Total de elementos impares e: ',cont_impar);
writeln ('Soma dos elementos impares e: ',soma_imp);
writeln ('Total de elementos pares e: ',cont_par);
writeln ('Soma dos elementos pares e: ',soma_par);
writeln;
writeln ('Tecle <ENTER> para continuar ....');
readln;
end.
Nenhum comentário:
Postar um comentário