rafaeloliveira83 0 Denunciar post Postado Maio 3, 2010 Ele ordena certo, mas aparece 3 datas, por exemplo: Ex 1: Data 1: 11/09/2000 Data 2: 10/07/2006 Ex 2: Data 1: 10/07/2006 Data 2: 11/09/2000 Resultado: 11/09/2000 10/07/2006 10/07/2006 Está aparecendo a mais Program Datas; uses crt; var dia, dia2, mes, mes2, ano, ano2 : integer; begin clrscr; writeln('Insira o Dia ( DD )'); readln(dia); writeln('Insira o Mes ( MM )'); readln(mes); writeln('Insira o Ano ( AAAA)'); readln(ano); writeln('Insira o Dia 2 ( DD )'); readln(dia2); writeln('Insira o Mˆs 2 ( MM )'); readln(mes2); writeln('Insira o Ano 2 ( AAAA )'); readln(ano2); if (ano2 > ano ) then writeln(dia, '/', mes, '/', ano) else writeln(dia2, '/', mes2, '/', ano2); if (mes2 > mes ) then writeln(dia, '/', mes, '/', ano) else writeln(dia2, '/', mes2, '/', ano2); if (dia2 > dia ) then writeln(dia, '/', mes, '/', ano) else writeln(dia2, '/', mes2, '/', ano2); readkey; end. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Maio 3, 2010 Seu erro está na forma em como esta tratando as condições, faça algo assim: Se (ano2 > ano) Então . . Senão Se (ano > ano2) Então . . Senão . . . . entendeu?? []s Compartilhar este post Link para o post Compartilhar em outros sites
rafaeloliveira83 0 Denunciar post Postado Maio 3, 2010 Ainda não entendi Seu erro está na forma em como esta tratando as condições, faça algo assim: Se (ano2 > ano) Então . . Senão Se (ano > ano2) Então . . Senão . . . . entendeu?? []s Compartilhar este post Link para o post Compartilhar em outros sites
rafaeloliveira83 0 Denunciar post Postado Maio 3, 2010 Consegui fazer: Ficou assim: Program DatasCrescentes; uses crt; var dia, dia2, mes, mes2, ano, ano2, aux : integer; begin clrscr; writeln('Insira o Dia ( DD )'); readln(dia); writeln('Insira o Mes ( MM )'); readln(mes); writeln('Insira o Ano ( AAAA)'); readln(ano); writeln('Insira o Dia 2 ( DD )'); readln(dia2); writeln('Insira o Mes 2 ( MM )'); readln(mes2); writeln('Insira o Ano 2 ( AAAA )'); readln(ano2); if (ano2 > ano ) then begin writeln(dia, '/', mes, '/', ano); writeln(dia2, '/', mes2, '/', ano2); end else if ( ano > ano2 ) then begin writeln(dia2, '/', mes2, '/', ano2); writeln(dia, '/', mes, '/', ano); end else if (mes2 > mes ) then begin writeln(dia, '/', mes, '/', ano); writeln(dia2, '/', mes2, '/', ano2); end else if ( mes > mes2 ) then begin writeln(dia2, '/', mes2, '/', ano2); writeln(dia, '/', mes, '/', ano); end else if (dia2 > dia ) then begin writeln(dia, '/', mes, '/', ano); writeln(dia2, '/', mes2, '/', ano2); end else if ( dia > dia2 ) then begin writeln(dia2, '/', mes2, '/', ano2); writeln(dia, '/', mes, '/', ano); end; readkey; end. Agora ele ordena as datas em ordem crescente corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Maio 3, 2010 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif soh me diz e se as datas forem iguais, como q é exibido? []s Compartilhar este post Link para o post Compartilhar em outros sites
rafaeloliveira83 0 Denunciar post Postado Maio 3, 2010 Bem lembrado. Se as duas datas forem iguais: Program DatasCrescentes; uses crt; var dia, dia2, mes, mes2, ano, ano2 : integer; begin clrscr; writeln('Insira o Dia ( DD )'); readln(dia); writeln('Insira o Mes ( MM )'); readln(mes); writeln('Insira o Ano ( AAAA)'); readln(ano); writeln('Insira o Dia 2 ( DD )'); readln(dia2); writeln('Insira o Mes 2 ( MM )'); readln(mes2); writeln('Insira o Ano 2 ( AAAA )'); readln(ano2); if (ano2 > ano ) then begin writeln(dia, '/', mes, '/', ano); writeln(dia2, '/', mes2, '/', ano2); end else if ( ano > ano2 ) then begin writeln(dia2, '/', mes2, '/', ano2); writeln(dia, '/', mes, '/', ano); end else if (mes2 > mes ) then begin writeln(dia, '/', mes, '/', ano); writeln(dia2, '/', mes2, '/', ano2); end else if ( mes > mes2 ) then begin writeln(dia2, '/', mes2, '/', ano2); writeln(dia, '/', mes, '/', ano); end else if (dia2 > dia ) then begin writeln(dia, '/', mes, '/', ano); writeln(dia2, '/', mes2, '/', ano2); end else if ( dia > dia2 ) then begin writeln(dia2, '/', mes2, '/', ano2); writeln(dia, '/', mes, '/', ano); end else if ( dia = dia2 ) and ( mes = mes2 ) and ( ano = ano2) then begin writeln(dia,'/',mes,'/',ano); writeln(dia2,'/',mes2,'/',ano2); end; readkey; end. Como as duas são iguais e tem que ordenar em ordem crescente é mostrado duas vezes. Perfeito e testado no Free Pascal! Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Maio 3, 2010 aeee agora sim ;D + eu acho q esse ultimo if n é necessario, pq se ele n respeitar nenhuma condição acima, com ctz as datas serão iguais ;D ´[]s Compartilhar este post Link para o post Compartilhar em outros sites