Ir para conteúdo

POWERED BY:

Arquivado

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

Ítalo Peruchi

exercício PHP- Simples

Recommended Posts

Olá pessoal, sou novo no forum e na programação, a professora passou o seguinte exercicio

 

Dado três números digitados pelo usuário, e todos diferentes, imprima o número central.

 

 

e eu fiz o seguinte código:

 

 

 

<?php
$n1=$_POST ["n1"];
$n2=$_POST ["n2"];
$n3=$_POST ["n3"];
if ($n1 > $n2)
{
if ($n1 < $n3)
echo "$n1";
else
echo "$n3";
}
elseif ($n2 < $n3)
{
if ($n1 > $n3)
echo "$n1";
else
echo "$n2";
}
elseif ($n3 > $n1)
{
if ($n2 < $n1)
echo "$n2";
else
echo "$n3";
}
elseif ($n2 > $n3)
{
if ($n2 > $n1)
echo "$n1";
}
elseif ($n3 < $n1)
{
if ($n3 < $n2)
echo "$n3";
}
else
{
if ($n3 > $n2)
echo "$n3";
}
//321
?>
Alguém sabe onde esta o erro, porque em todas as sequencias possiveis apenas 1 da erra (3,2,1) ele esta imprimindo o numero 1. era pra imprimi o 2.
obrigado!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim :

 

faça uma verificação encadeada com ' || ' se (arg 01) ou (arg 02) então imprima se senão verifique outra condição....

 

 

 

<?php

 

 

$n1=$_POST ["n1"];
$n2=$_POST ["n2"];
$n3=$_POST ["n3"];

 

if(($n1 > $n2) || ($n1 > $n3)){
echo $n1;
}elseif(($n2 > $n1) || ($n2 > $n3)){
echo $n2;
}elseif(($n3 > $n1) || ($n3 > $n2)){
echo $n3;
}
?>
**** Espero ter ajudado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

LOL, aposto que ela passou esse exercicio pra você tentar resolver sozinho e aprender.

e não pra que terceiros o resolvam pra você!

 

quando terminar o curso, pretende pedir, que os outros crie seus scripts também?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dado três números digitados pelo usuário, e todos diferentes, imprima o número central.

 

A dica do diney não ira funcionar corretamente, e amigo como é um exercicio para um curso acho que você deveria pesquisar um pouquinho... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

é não funcionou..

cara, ja faz 2 dias que ela passou, e o maximo que consegui foi acertar 5 das 6 combinaçoes possiveis.

 

Numero central, tipo, nao o maior nem o menor.



tentei usar array, sort e imprimir o do meio, nao sei se tem como fazer isso, até porque deu erro em tudo HUSAU

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim amigo por partes.

 

Numero central, tipo, nao o maior nem o menor.

 

Se o numero não é maior nem menor, significa que é diferente então você pode usar !=, ao invéz de ficar verificando se é maior e menor.

 

Dado três números digitados pelo usuário, e todos diferentes, imprima o número central.

 

Aqui no caso você pode fazer somente com um if(), pois esta dizendo para imprimir o numero central caso todos os numeros forem diferente. Foi o que intendi pelo menos kkkk

 

Agora amigo pesquise sobre estrutura de controle com php, que você podera ver como funciona o if().

 

Este links podem lhe ajduar

http://www.devmedia.com.br/estruturas-de-controle-no-php/25730

http://www.aprenderphp.com.br/artigo/if-else-e-elseif-as-estruturas-de-controle-no-php

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem precisa de if's não, veja:

 

<?php

if(!empty($_POST)){

unset($_POST[array_search(max($_POST), $_POST)], $_POST[array_search(min($_POST), $_POST)]);
echo reset($_POST);

}
?>

 

 

 

Alguém sabe onde esta o erro

 

ta aki ó


if ($n1 > $n2){

 

ele entra no primeiro if.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

nem precisa de if's não, veja:

 

<?php

if(!empty($_POST)){

unset($_POST[array_search(max($_POST), $_POST)], $_POST[array_search(min($_POST), $_POST)]);
echo reset($_POST);

}
?>

 

 

 

 

ta aki ó


if ($n1 > $n2){

 

ele entra no primeiro if.

 

 

uuu funcionou, agora só falta eu entender o que tu fez, senão não adianta de nada. :p

 

oBrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uuu funcionou, agora só falta eu entender o que tu fez, senão não adianta de nada. :P

 

oBrigado!

 

Vou fazer o código separado para ver se consegue entender melhor.

// No if abaixo ele verifica se o $_POST está vázio, se não possui nenhuma array dentro dele.
if(!empty($_POST)){

// o unset() deleta os  values de uma array ou de uma variável comum mesmo

unset($_POST[array_search(max($_POST), $_POST)]); // aqui ele busca na array $_POST o campo que tiver o value MAIOR e deleta.

unset($_POST[array_search(min($_POST), $_POST)]); // aqui ele busca na array $_POST o campo que tiver o value MENOR e deleta.

echo reset($_POST); // Não vi necessidade desse reset(); rs

Corrijam-me se eu estiver errado. rs

Mas olhando para o código já da pra perceber o que cada função faz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, não tem necessidade de fazer tudo isso.

 

<?php

$values = array( 3, 89, 2, 77, 26 );

sort( $values );

var_dump( $values[ ( int ) ( count( $values ) / 2 ) ] );

// int 26

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

o reset() foi so para alterar o ponteiro para o inicio, no caso o unico, para pegar o echo, senão teria que colocar um print_r ou o var_dump...

 

Hmmm Entendi...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou fazer o código separado para ver se consegue entender melhor.

// No if abaixo ele verifica se o $_POST está vázio, se não possui nenhuma array dentro dele.
if(!empty($_POST)){

// o unset() deleta os  values de uma array ou de uma variável comum mesmo

unset($_POST[array_search(max($_POST), $_POST)]); // aqui ele busca na array $_POST o campo que tiver o value MAIOR e deleta.

unset($_POST[array_search(min($_POST), $_POST)]); // aqui ele busca na array $_POST o campo que tiver o value MENOR e deleta.

echo reset($_POST); // Não vi necessidade desse reset(); rs

Corrijam-me se eu estiver errado. rs

Mas olhando para o código já da pra perceber o que cada função faz.

 

 

Opaa, obrigado cara, ajuda mil !

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.