Zurück   RR:Board > Computer > Programmierung & Entwicklung

Entwicklung und Coding in verschiedenen Programmiersprachen: Assembly, C++, C#, Perl, Delphi, .NET, Visual Basic...
Antwort
 
Themen-Optionen Thema durchsuchen

[Code] - mathematisches Problem - ich komm nicht drauf ^^
Alt 24.05.2012, 14:30   # 1
Mazen2004
Underground King
blau
Bewertung:
Mazen2004 hat die Renommee-Anzeige deaktiviert
Registriert seit: Jan 2005
Beiträge: 2.096
Power: 31
Hallo,

Ich habe Werte zwischen 0 und 1000.
Und möchte sie auf die Werte 250, 500 oder 1000 mappen.
Jeweils wenn der Wert kleinerGleich ist als 250 dann zu 250; kleinerGleich als 500 dann zu 500 etc.

Mein Ansatz ist mit ((int) wert /100) * 100. Dann bekomm ichs schon ma auf die 100er Werte gemappt. Nur wie müsste die Rechnung aussehend damit ich da nicht 100er schritte bekomme sondern die Rechenvorschrift f(x) = x*2 weil der wert ja immer verdoppelt ist :/

4rr

Keine Macht der Renommee-Geilheit! Turn Off your Reno-Anzeige!
  Mazen2004 ist offline   Mit Zitat antworten

Alt 24.05.2012, 14:37   # 2
Heisenberg
Da geht noch einer!
rot rot 
Bewertung:
Heisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 Punkte
Heisenberg hat mehr als 10.000 PunkteHeisenberg hat mehr als 10.000 Punkte
Registriert seit: Oct 2011
Beiträge: 538
Power: 8
Ich hab eigentlich absolut keine Ahnung von Programmieren, aber kannst du das nicht mit mehreren Fällen machen? wenn wir mal von ganzen Zahlen ausgehen:

if x<251
do x=250

if x>250 & x<501
do x=500

if x> 500 & x<751
do x=750

if x>750
do x=1000

Kapitulation
  Heisenberg ist offline   Mit Zitat antworten

AW: mathematisches Problem - ich komm nicht drauf ^^
Alt 24.05.2012, 14:55   # 3
Mazen2004
Underground King
blau
Bewertung:
Mazen2004 hat die Renommee-Anzeige deaktiviert
Registriert seit: Jan 2005
Beiträge: 2.096
Power: 31
Themenstarter
Zitat:
Zitat von Heisenberg Beitrag anzeigen
Ich hab eigentlich absolut keine Ahnung von Programmieren, aber kannst du das nicht mit mehreren Fällen machen? wenn wir mal von ganzen Zahlen ausgehen:

if x<251
do x=250

if x>250 & x<501
do x=500

if x> 500 & x<751
do x=750

if x>750
do x=1000
Genau das wollte ich vermeiden :>
Keine abfragen sondern direkt auf den richtigen Wert mappen

4rr

Keine Macht der Renommee-Geilheit! Turn Off your Reno-Anzeige!
  Mazen2004 ist offline   Mit Zitat antworten

AW: mathematisches Problem - ich komm nicht drauf ^^
Alt 24.05.2012, 17:45   # 4
Alex²
Outlaw Legend
blau blau blau 
Bewertung:
Alex² 80k+ RR.Geekpoints
Registriert seit: Aug 2005
Beiträge: 3.035
Power: 51
Zitat:
Zitat von Mazen2004 Beitrag anzeigen
Genau das wollte ich vermeiden :>
Keine abfragen sondern direkt auf den richtigen Wert mappen
Wie soll das ohne Abfragen in Pseudocode funktionieren? Suchst du eine mathematische Operation die jede Zahl ihrer größe nach auf den entsprechenden Wert bringt? Das wird wahrscheinlich weniger einfach.

Zitat:
f(x) = x + (y -x)
Sowas würde halt jede Zahl welche kleiner bzw. gleich y ist auf y bringen. Die Frage ist, wie du das mit den Stufen in eine Gleichung bekommst. Halte ich für schwierig.

Was du daraus bauen könntest:

RRMap.java:
Code:
import java.util.Arrays; public class RRMap { public static void main(String[] args) { int[] possibleKeys = { 250, 500, 1000 }; int[] randomValues = { 111, 222, 333, 444, 555, 666, 777, 888, 999, 1111 }; for (int value : randomValues) { System.out.println(value + " to " + getMapKey(value, possibleKeys)); } } private static int getMapKey(int value, int... possibleKeys) { Arrays.sort(possibleKeys); for (int possibleKey : possibleKeys) { int gap = possibleKey - value; int currentKey = value + gap; if (gap >= 0) return currentKey; } return possibleKeys[possibleKeys.length - 1]; } }
Lässt sich mit Sicherheit noch optimieren. Halte ich in der Form aber für eine relativ effiziente Lösung. Diese Lösung mappt alles was größer als der größte Key ist zum größten Key (kannst die letzte Zeile ja anpassen, wenn diese Werte als ungültig gelten sollen).

Geändert von Alex² (24.05.2012 um 18:05 Uhr).
  Alex² ist offline   Mit Zitat antworten

AW: mathematisches Problem - ich komm nicht drauf ^^
Alt 24.05.2012, 18:16   # 5
-idur-
Kabel Wurm
rot rot rot 
Bewertung:
-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte-idur- hat 2500 bis 5000 Punkte
Registriert seit: Oct 2004
Beiträge: 1.112
Power: 26
Bin jetzt auch nicht der beste Progammierer, aber ich hab lange rumprobiert und so funktionierts

Code:
#include <iostream> #include <cmath> using namespace std; int main() { double wert; cout << "Wert? "; cin >> wert; cout << pow(2,round(0.8*(((int)(wert/250.1))+1)+1.2))/4*250 << endl; }
War aber echt nicht einfach, das so hinzubiegen ^^
Vllt gehts auch irgendwie einfacher :/


//EDIT: Das ganze funktioniert nur sicher, wenn die Zahlen maximal 1 Nachkommastelle haben. Solltest du es genauer brauchen, musst du die 250.1 anpassen in z.B. 250.01. Dann gehen auch 2 Nachkommastellen.

Geändert von -idur- (24.05.2012 um 18:24 Uhr).
  -idur- ist offline   Mit Zitat antworten

AW: mathematisches Problem - ich komm nicht drauf ^^
Alt 25.05.2012, 09:21   # 6
Chillikid
Kabel Wurm
rot rot rot 
Bewertung:
Chillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 PunkteChillikid hat mehr als 5000 Punkte
Chillikid hat mehr als 5000 Punkte
Registriert seit: Feb 2008
Internet: DSL 4000
Beiträge: 952
Power: 18
Und wieso willst du Abfragen vermeiden? Es ist der einfachste und verständlichste Weg.

Wenn mal jemand anders deinen Code lesen sollte, ist so eine Lösung wie die von -idur- nicht nachvollziehbar geschweige denn anpassbar.
  Chillikid ist offline   Mit Zitat antworten
Antwort

RR:Board > Computer > Programmierung & Entwicklung > [Code] - mathematisches Problem - ich komm nicht drauf ^^


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webftp geht nicht und mit FileZilla komm ich auch nicht ins FTP Scarred Webhosting 3 29.10.2008 18:34
Ich will Informatik studieren habs aber nicht so mit Math drauf. Was kann ich machen? skorpionmaster Schule, Studium, Ausbildung 7 26.03.2007 20:14
Wolfschanze - ich komm nicht weiter Das Omen Gamer Support 0 04.02.2007 18:44
scrapland - ich komm nicht weiter O²BoOn Gamers Board 8 18.09.2006 19:44
Einfach zu lösen, aber ich komm nicht drauf :( klausomania Windows 3 29.06.2006 18:08



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
vBulletin Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.