Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 19. Nov 2018 10:38

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 10. Apr 2009 20:53 
Hallo,

Wie bekomme ich es hin, von z.B. 72 auf die nächst höhere Zahl aufzurunden.
Ich vermute das irgendwie modulo im Spiel sein muss, komme aber nicht drauf.

Gruß
Berta


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 10. Apr 2009 21:38 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Dies Frage hat eigentlich nix mit Linux zu tun...

Die Zahl als Ganzzahl durch 10 Teilen (Zw: 7), dann gucken, ob die Zahl mod 10 == 0 ist. Wenn nein, 1 zum Zwischenergebnis addieren (Zw: 7->8) und wieder mal 10 nehmen (->80). Fertig.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 11. Apr 2009 10:26 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 05. Mai 2004 7:35
Beiträge: 1238
So ähnlich wie Janka:
Code:
n += 10 - n % 10


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 11. Apr 2009 22:13 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Bei deiner Lösung wird aber 70->80, was ja gerade vermieden werden sollte (denke ich zumindest).

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 11. Apr 2009 23:30 
Zitat:
Dies Frage hat eigentlich nix mit Linux zu tun...
Darum steht sie auch unter 'Programmieren in C, oder hat der Rest in dieser Rubrik zwingend etwas mit Linux zu tun?

Trotzdem vielen Dank an euch beide. Ich hatte mir zwischenzeitlich diese Lösung zusammengebastelt:
Code:
int x = 72
while x % 10 != 0
{
      x++
}
Ich weiss nicht wirklich, besonders sauber wäre das nicht, oder?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Apr 2009 7:58 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Zitat:
Zitat:
Dies Frage hat eigentlich nix mit Linux zu tun...
Darum steht sie auch unter 'Programmieren in C, oder hat der Rest in dieser Rubrik zwingend etwas mit Linux zu tun?
Das ganze Forum ist "pro-linux". Die Rubrik "Programmieren in C" bezieht sich logischerweise auch auf die Feinheiten, wie man mit/für/an Linux in C programmiert.
Zitat:
Trotzdem vielen Dank an euch beide. Ich hatte mir zwischenzeitlich diese Lösung zusammengebastelt:
Code:
int x = 72
while x % 10 != 0
{
      x++
}
Ich weiss nicht wirklich, besonders sauber wäre das nicht, oder?
Das ist vor allem unnötig lahm, weil es eine Scheife enhält.
Code:
int x = 72
if (x%10 == 0) x=10*(x/10) else x=10*(x/10)+10;
Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Apr 2009 16:09 
Zitat:
int x = 72;
if (x%10 == 0) x=10*(x/10) else x=10*(x/10)+10;
Bei einer Zahl die durch 10 ohne Rest teilbar ist, z.B. 80 wird hier trotzdem gerechnet.
10 * (80 / 10)
Code:
// Nur Rechnen wenn nötig
if(zahl % 10 != 0) {
	zahl = (zahl / 10 + 1) * 10;
}
// Ein Beispiel für eine andere Rechnung (unerheblich)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Apr 2009 20:48 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Stimmt.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Apr 2009 21:17 
ok, super und vielen dank für das beantworten meiner frage.

trotzdem noch eine frage zu dem, was in diesem forum offtopic ist.
wenn ich janka jetzt richtig verstehe, ist dieses unterforum nur für leute, die sich direkt mit der systemprogrammierung für linux in C auseinandersetzen.

naja, wird wohl ne sinnlose diskussion werden - eine massreglung hätte ich wohl verstanden, wenn ich gefragt hätte, wie ich libarys für windows einbinde oder ähnliches.
statt dessen dachte ich, es würde reichen, wenn ich meine progs mit
gcc -Wall -ggdb prog.c -o prog kompiliere und als debugger den ddd benutze - aber gut,
ich suche mir dann halt ein anderes forum - und lasse euch gerne mit den ansonsten meist hochqualifizierten fragen alleine.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Apr 2009 8:00 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Oh Meta!

Ich bin weit davon entfernt, irgendjemanden "maßregeln" zu wollen oder zu können. Ich habe mich bloß gewundert, warum du eine solche Frage ausgerechnet *hier* stellst. Ein Forum zum Programmieren allgemein hätte es ja auch getan.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Apr 2009 17:21 
Zitat:
warum du eine solche Frage ausgerechnet *hier* stellst
weil es dank leuten wie dir, eigentlich eine sehr gute anlaufstelle für solche fragen ist.
:wink:
ich denke es ist jetzt auch gut, meine frage ist ja super beantwortet worden.


Nach oben
   
 Betreff des Beitrags: 70->80 waere doch korrekt
BeitragVerfasst: 13. Apr 2010 23:24 
@Janka 11. Apr 2009 22:13

Berta möchte doch _höhere_ Zahlen!

Titel/Thema:

»Nächst höhere durch 10 teilbare Zahl«

bzw. der erste Satz des Fragers:

»Wie bekomme ich es hin, von z.B. 72 auf die nächst höhere Zahl aufzurunden.«

Sonst sollte es doch heißen, auf die naheste, nicht kleinere Zahl ...

(Das Deutsch halt vieldeutig ist, habe ich »naheste«, und nicht »nächste« geschrieben. Es gilt ja als unfein, sich selbst der Nächste zu sein ...)


Nach oben
   
 Betreff des Beitrags: simple Lösung
BeitragVerfasst: 28. Apr 2010 16:29 
Offline

Registriert: 28. Apr 2010 16:27
Beiträge: 1
ergebnis = ( ( zahl + 9 ) % 10) * 10


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 13 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de