Sida 1 av 1

Kodhjälp arduino

Postat: 18 januari 2013, 19:42:06
av gripner
Har en array med tex 10 tal i. Önskar hitta de talen som ligger 1 heltal när varandra. Tex 22.45 och 23.34 fyller kriteriet.
Det som gör det extra trixigt är att alla talen måste ligga 1 heltal när även det största och minsta talet.

sedan skall ett medeltal av de talen som uppfyller kriterierna räknas fram, men den delen är ju lätt.

edit:
avbruten av skrikande barn, nu kommer resten

Re: Kodhjälp arduino

Postat: 18 januari 2013, 22:45:55
av DavidS
[45.2, 23.8, 67.2, 24.7, 38.1, 23.6, 23.7, 24.4, 56.2, 25.1]

Sorterad:
[23.6, 23.7, 23.8, 24.4, 24.7, 25.1, 38.1, 45.2, 56.2, 67.2]

Där har du ju flera möjligheter till talserier inom dina kriterier. Är det viktigt att plocka just vissa av dessa talserier eller bara första bästa?
Du kan ju tex ta [23.6, 23.7, 24.4] eller [23.7, 23.8, 24.4, 24.7] eller [23.8, 24.4, 24.7] o.s.v.

Eller har jag fattat helt fel? Lite trött i skallen efter jobb och fix med CNC...

Re: Kodhjälp arduino

Postat: 18 januari 2013, 22:50:58
av gripner
talserien man skall ta är den som ger flest tal.

Re: Kodhjälp arduino

Postat: 19 januari 2013, 00:18:18
av Krille Krokodil
Du får väl efter sorteringen gå igenom Tal 2 - Tal 1, Tal 3 - Tal 1, Tal 4 - Tal 1 så länge skillnaden är mindre eller lika med 1 och lagra första positionen samt antalet följande tal, när det blir större än 1 går du vidare och jämför Tal 3 - Tal 2, Tal 4 - Tal 2 osv, om en längre serie hittas skrivs första position och antal över. Därefter en slinga som adderar första position till första position + antal och delar med antal för att få medelvärdet.

Re: Kodhjälp arduino

Postat: 19 januari 2013, 09:24:53
av Icecap
Om man utför en sortering blir det ju en del lättare. Ett enkelt sätt är ju en bubbelsortering (sökord "bubble sort") så att värden finns i stigande eller fallande följd.

Sedan är det enkelt att jämföra och markera start & stopp på dessa värden.

Om en sortering är ett problem pga. att en ändring av följden får man ta en annan ingångsvinkel.