Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 141

 
Artyom Trishkin:

Amici, ho lavorato troppo...

Ecco la domanda: c'è un array di, diciamo, quattro numeri. Dobbiamo trovare il numero di numeri uguali nella matrice.

1,2,3,4 - nessun numero identico
1,1,2,3 - due numeri uguali
1,1,2,2 - anche due numeri identici.
1,2,1,2 - ci sono due identici.
1,1,1,2 - tre uguali
1,1,1,1,1 - quattro di loro sono uguali.

Non sembra complicato, ma non mi viene in mente niente...

COME?

Disporre l'array e fare un confronto con i valori attuali e passati, se corrispondono, allora contati - o non capisco la domanda.
 
Artyom Trishkin:

Amici, ho lavorato troppo...

Ecco la domanda: c'è un array di, diciamo, quattro numeri. Dobbiamo trovare il numero di numeri uguali nella matrice.

1,2,3,4 - nessun numero identico
1,1,2,3 - due numeri uguali.
1,1,2,2 - anche due numeri identici.
1,2,1,2 - ce ne sono due simili
1,1,1,2 - tre uguali
1,1,1,1,1 - quattro di loro sono uguali.

Non sembra complicato, ma non mi viene in mente niente...

COME?

int Res = 1;  

if (ArraySort(Array))
{    
  int Tmp = 1;
  
  for (int i = ArraySize(Array) - 1; i > 0; i--)
  {
    if (Array[i - 1] != Array[i])
    {
      if (Tmp > Res)
        Res = Tmp;
      
      Tmp = 0;
    }
      
    Tmp++;
  }
}
Non l'ho controllato. Il risultato è in Res.
 
fxsaber:
int Res = 1;  

if (ArraySort(Array))
{    
  int Tmp = 1;
  
  for (int i = ArraySize(Array) - 1; i > 0; i--)
  {
    if (Array[i - 1] != Array[i])
    {
      if (Tmp > Res)
        Res = Tmp;
      
      Tmp = 0;
    }
      
    Tmp++;
  }
}
Non l'ho testato. Il risultato di Res è Res.

Sì, darò un'occhiata. Grazie. Ho capito l'idea

Ho appena ottenuto il mio corno nel semplice, facendo il complesso ....

 
-Aleks-:

Disporre l'array e fare un confronto con il valore corrente e il valore passato, se corrisponde, allora conta - o non capisco la domanda.
Grazie. Solo un po' sbagliato - ci possono essere diversi numeri corrispondenti ma diversi tra loro.
 
Artyom Trishkin:
Grazie. Solo un po' sbagliato - ci possono essere diversi numeri corrispondenti ma diversi tra loro.

ha sicuramente funzionato :-)

 
Artyom Trishkin:
Grazie. Solo un po' sbagliato - ci possono essere diversi numeri corrispondenti ma diversi.

Avete bisogno di una definizione più chiara del problema.

1) Un numero è dato come input e si vuole produrre quante corrispondenze ci sono per quel numero nell'array.

2) O volete emettere tutti i numeri che sono duplicati nell'array?

 
. ... Rick D. ... .:

Avete bisogno di una definizione più chiara del problema.

1) Un numero è dato come input e si vuole produrre quante corrispondenze ci sono per quel numero nell'array.

2) O volete emettere tutti i numeri che sono duplicati nell'array?

Nessuno dei due.

Ci sono quattro numeri sconosciuti conosciuti. Devi trovare il numero di numeri duplicati come nell'esempio del mio primo post.

 
Maxim Kuznetsov:

ha sicuramente funzionato :-)

Sì, beh... Ha funzionato :))

Non so come chiamare questi numeri: 1,1 2,2 ... o 1,2,1,2 - qui il numero (risultato) è 2

ripetuto (1,1)... ma diverso(1,1,2,2) ... - e qui il numero (risultato) è 2

E come lo chiamo correttamente - non lo so - non sono un cliente, però

ZS. A proposito - ripetitivo - sono io per niente... Altrimenti si potrebbe pensare che "andare in fila"... Non è necessario.

Solo il numero di numeri corrispondenti. Anche se questo potrebbe non essere il modo giusto per dirlo... Sì... è una vita dura per il cliente...

 
Artyom Trishkin:

Non so come chiamarlo - non sono un cliente, però.

Numero massimo di valori identici in una sequenza?
 
Alexey Kozitsyn:
Il numero massimo di valori identici in una sequenza?

No :)))

1,1,1,2,3,3,2,1,4,4,5

è il numero di numeri dello stesso colore.