estou com dificuldade de reslver esse problema

1. estou com dificuldade de reslver esse problema

Gustavo
sabing

(usa Ubuntu)

Enviado em 11/05/2011 - 12:01h

8 – Fazer um algoritmo carregar em vetor as idades de 20 alunos e verificar qual é a idade do aluno mais velho.

(o problema é para eu verificar as idade do aluno mais velho com algum laço de repita eu acho, pq 20 aluno para ficar fazendo de 1 a um vai demorar muito ajuda ai )o problema esta na leitura das idades e entrar na verificação tipo segue a minha idéia

algoritmo "semnome"

var
nome:vetor[1..20] de caractere
idade:vetor[1..20] de caractere
i:inteiro
inicio

para i de 1 ate 20 faca
escreva("Digite nome = ")
leia(nome[i])
escreva("Digite a idade = ")
leia(idade[i])
//como faço para entrar na condição para nao precisar escrever de 1 a um
// se(idade[1]<idade[2]) entao
// escreva(nome[1])
// fimse
fimpara

fimalgoritmo


  


2. Re: estou com dificuldade de reslver esse problema

Ricardo Lino Olonca
ricardoolonca

(usa Debian)

Enviado em 11/05/2011 - 12:21h

Dependendo da linguagem que você utilizar, existe uma função que calcula o maior valor de um array. Agora, em português estruturado, que é usado para aprender lógica, você vai ter que fazer um loop de 1 para 19, e testar se idade[i] é maior de idade[1+1].


3. Re: estou com dificuldade de reslver esse problema

Valdelírio da Silva e Silva
valdelirio

(usa Ubuntu)

Enviado em 17/05/2011 - 09:32h

O maionesebr tem razão. Agora, se além de você quer informar o aluno mais velho, quiser também mostrar o vetor em ordem crescente de idades (em ordem decrescente você altera) você pode fazer assim (código em fortran 90):
! Cria um vetor com ordem crescente de valores a partir de um vetor qualquer.

subroutine OrdCresVal(n,vetin,vetord)

implicit none

integer(4),intent(in)::n

real(8),intent(in)::vetin(n)

real(8),intent(out)::vetord(n)


integer(4)::i,j

real(8)::minvalatual



vetord = vetin



do i=2,n

do j=i,n

!dmin1 é uma função intrísica que determina o menor valor entre seus argumentos
!dmax1 é uma função intrísica que determina o maior valor entre seus argumentos
minvalatual = dmin1(vetord(i-1),vetord(j))

vetord(j) = dmax1(vetord(i-1),vetord(j))

vetord(i-1) = minvalatual

end do

end do


end subroutine OrdCresVal








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts