Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pensante

[Resolvido] construir um codigo q leia 2 nª e imprima todos entre

Recommended Posts

o dever pede que desenvolva um script em php para o usuario digitar 2 numeros e imprimir todos os numeros entre os numeros digitados pelo usuario em ordem crescente, inclusive eles.

 

o que eu fiz:

 

<?php
$n1=$_POST ["n1"];
$n2=$_POST["n2"];

if ($n1<$n2)
for (i=0; $i<=$n2; $i++)
$c = $n1+1;
echo " $c ";

else
if ($n2<$n1)
for ($i=0; $i<=$n1; $i++)
$c=$n1+1;
echo "$c ";

sei q tah errado pois ñ funciona!

o q pode ser feito?

Compartilhar este post


Link para o post
Compartilhar em outros sites


//considerando que sejam numeros inteiros

if ( $n1 < $n2 ){

for ( i = $n1; $i <= $n2; $i++)

echo $i;

}else if( $n2 < $n1 ){

for ($i = $n2; $i <= $n1; $i++)

echo $i;

}else

echo "Os números são iguais";

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código do Victor tem um micro-erro, pois está faltando um cifrão no i do primeiro for-loop.

 

For isso, funciona.

 

Mas que tal fazer tudo numa única linha (duas na verdade)?

 

$n1 = -10; $n2 = 25;

printf( '%s', implode( ', ', range( $n1, $n2 ) ) );

// Saída

-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade depois de um tempo pensando eu consegui resolver, ficou assim:

<?php
$n1 = $_POST ["n1"];
$n2 = $_POST ["n2"];


if ($n1< $n2){
$aux=$n1;
echo " $aux ";
while ($aux <>$n2){
$aux=$aux+1;
echo " $aux ";}
}

if ($n2<$n1){
$aux=$n2;
echo " $aux ";
while ($aux <> $n1){
$aux=$aux+1;
echo " $aux ";
}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, com range() não se faz necessário loop dentro de loop, "trocentas" condições, incrementos desnecessários...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o dever pede que desenvolva um script em php para o usuario digitar 2 numeros e imprimir todos os numeros entre os numeros digitados pelo usuario em ordem crescente, inclusive eles.

 

matematicamente falando isso é impossível.

 

já que entre 0 e 1 existem infinitos números :P

o algoritmo precisa ser melhor descrito, talvez limitando a imagem ao conjunto dos Z (inteiros)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.