Ex. 09 -
Elaborar um algoritmo que lê um conjunto de 30 valores e os coloca em 2 vetores conforme forem
pares ou ímpares. O tamanho do vetor é de 5 posições. Se algum vetor estiver cheio, escrevê-lo.
Terminada a leitura escrever o conteúdo dos dois vetores. Cada vetor pode ser preenchido tantas vezes quantas for necessário.
Entendendo...
O entendimento está nos comentários... muito sono *--*
Uma possível Solução:
algoritmo "Vetores"
// Autor : Eduardo V. de Souza
// Data : 27/07/2011
//Declarando variáveis
// dois vetores com cino posições cada
var v:vetor[1..5]de inteiro
vr:vetor[1..5]de inteiro
// uma variavel de leitura, uma variável para o laço, dois contadores
i,x,cont_p,cont_i:inteiro
inicio
//como precisamos ler 30 valores um laça com 30 incrementos
para i de 1 ate 30 faca
//lendo a variavel x
leia(x)
//Validando se o valor lido é par ou ímpar.
se(x%2)=0 entao
//se sim o contares de par é incrementado
cont_p<-cont_p+1
// e o vetor de numeros pares recebe na posição do contador o valor lido
v[cont_p]<-x
//se o contador chegar a 5 então o vetor é exibido.
se cont_p=5 entao
escreval("Vetor par")
para i de 1 ate 5 faca
escreval(v[i])
fimpara
escreval
//zerando o contador para ser usado novamente
cont_p<-0
fimse
senao
//caso não seja par ele é impar XD
//e o mesmo é feito para os números ímpares
cont_i<-cont_i+1
vr[cont_i]<-x
se cont_i=5 entao
escreval("Vertor Impar")
para i de 1 ate 5 faca
escreval(vr[i])
fimpara
cont_i<-0
escreval
fimse
fimse
fimpara
//como o exercicio pede que é pra mostrar
// o que restou de cada vetor e se restou
// iniciamo um laço até o contador de cada vetor
//e exibimos cada elemento que restou.
escreval("Vetor par")
para i de 1 ate cont_p faca
escreval(v[i])
fimpara
escreval("vetor impar")
para i de 1 ate cont_i faca
escreval(vr[i])
fimpara
fimalgoritmo
Em Execução:
Sensacional amigo! Muito obrigado pela resolução e pelo passo-a-passo!
ResponderExcluirPor nada, quem me dera ter mais tempo =)
Excluiropa cara eu fiz o mesmo em C
ResponderExcluircaso queira ver
#include
#include
/*
Elaborar um algoritmo que lê um conjunto de 30 valores e os coloca em 2 vetores conforme forem pares ou ímpares.O tamanho do vetor é de 5 posições.
Se algum vetor estiver cheio, escrevê-lo.
Terminada a leitura escrever o conteúdo dos dois vetores. Cada vetor pode ser preenchido tantas vezes quantas for necessário.
*/
int main()
{
int cont, num, cont_par, cont_impar, cont_aux;
int vet[30], vet_par[5], vet_impar[5];
cont_par = 0;
cont_impar = 0;
num = 0;
cont = 0;
cont_aux = 0;
for (cont = 0; cont < 30; cont++ )
{
printf("Numero: ");
scanf("%d", &vet[cont] );
system("cls");
if (vet[cont] %2 == 0 ) // verifica se é par ou impar
{
vet_par[cont_par] = vet[cont]; // coloca em um vetor o numero digitado
cont_par++; // incrementa se o contador se o numero for par
if (cont_par == 5 ) // verifica se o contador é igual a cinco para mostrar
{
printf("Numeros Pares em Bloco de 5\n");
for(cont_aux = 0; cont_aux < 5; cont_aux++ )
{
printf("%d\n", vet_par[cont_aux]); // mostra os numeros pares usando um contador auxiliar
}
cont_par = 0; // zera o contador para poder contar ateh cinco dnovo * os pares
}
}
else
{
vet_impar[cont_impar] = vet[cont]; // coloca em um vetor o numero digitado
cont_impar++; // incrementa o contador
if (cont_impar == 5 ) // verifica se o contador é igual a cinco para mostrar
{
printf("Numeros Impares em Bloco de 5\n");
for(cont_aux = 0; cont_aux < 5; cont_aux++ )
{
printf("%d\n", vet_impar[cont_aux]); // mostra os numeres impares usando um contador auxiliar
}
cont_impar = 0; // zera o contador para mostrar ateh cinco dnovo * os impares
}
}
}
printf("Os Numeros Digitados Foram: \n");
for (cont = 0; cont < 30; cont++)
{
printf("%d - ", vet[cont]); // mostra os numeros digitados
}
/*Lteko®2011 .... lteko@hotmail.com \o */
return 0;
}
http://pastebin.com/v963cmjd
Muito bom, embora eu não seja muito fã de C hehehe parabens ^^
ExcluirAcho que entrei no blog tarde demais pra ver, bom valeu mesmo =)
ResponderExcluir