Ir para conteúdo
Fórum Script Brasil
  • 0

comparacoes e desempates- qual a melhor solucao?


vivian s.

Pergunta

amigos, todas as variavies representam perguntas sim ou não, e segue uma contagem de exemplo abaixo:

por exemplo:

$a = 5
$b = 3
$c = 5
$d = 5
$e = 2
$f = 4
aqui temos empate das variaveis $a, $c e $d. Como fazer para mostrar quais variaveis estao empatadas? Imaginando agora um criterio para desempate (sim ou não) para as variaveis que sobraram: (ganha quem tem maior sim das variaveis abaixo)
$a = 5
$c = 5
$d = 5
a_sim=3
a_nao=2

c_sim=5
c_nao=4

d_sim=3
d_nao_3

RESPOSTA É: a variavel "c" (pois tem o sim maior entre estas 3 variaveis)

como posso fazer para obter esta solução?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Boa noite.

Taí uma coisa que com certeza não é complicado, mas como a idéia está em sua cabeça,

ficaria mais fácil você programar.

Mas como está com a dificuldade, uma sugestão é você criar uma variável para o valor, do tipo array

E através de um loop (pode ser o while), você agrega as outras iguais.

No final, somente ler os arryas.

Os que forem arrays (is_array) é porque tem números repetidos.

Os demais não tem.

Dentre os arrays, usa-se o count(array), para saber a quantidade.

O maior número, é o que terá maior número de repetições.

Então você cria critérios de desempates a ser obedecidos.

Espero ter ajudado.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
amigos, todas as variavies representam perguntas sim ou não, e segue uma contagem de exemplo abaixo:

por exemplo:

$a = 5
$b = 3
$c = 5
$d = 5
$e = 2
$f = 4
aqui temos empate das variaveis $a, $c e $d. Como fazer para mostrar quais variaveis estao empatadas? Imaginando agora um criterio para desempate (sim ou não) para as variaveis que sobraram: (ganha quem tem maior sim das variaveis abaixo)
$a = 5
$c = 5
$d = 5
a_sim=3
a_nao=2

c_sim=5
c_nao=4

d_sim=3
d_nao_3
RESPOSTA É: a variavel "c" (pois tem o sim maior entre estas 3 variaveis) como posso fazer para obter esta solução?
acho que isso aqui vai servir. até mais.
<?
  // vamos declarar e inicializar um array de inteiros
  $valores = array(9, 2, 6, 11, 6, 9, 3, 6);

  // vamos listar os valores dos elementos no array
  echo "Elementos no array:<br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }

  // vamos exibir apenas os valores duplicados
  // Aviso: não use o laço for para percorrer o array
  // resultante. Em vez disso use foreach
  $valores = array_unique(array_diff_assoc(
    $valores, array_unique($valores)));
  
  echo "<br><br>Elementos repetidos:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>

Link para o comentário
Compartilhar em outros sites

  • 0

amigos,

o array de mostrar os resultados repetidos, ok,

o problema que preciso saber qual letra que tevem os resultados repetidos e ir buscar para cada um deles o segundo criterio de desempate que é o sim/não de cada um que estava empatado.

Existe algo como case, que os resultados empatados são buscados neste case? to um pouco confusa pra entender como iniciar.

A ideia de colocar num array e mostrar os valores repetidos, joia, mas como saber qual letra correspondem aos repetidos? Para ai sim ir buscar seus criterios de desempates.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...