In C++ runden ohne bestimmte Befehle

Programmierung - (Computer, PC, Technik)

3 Antworten

da fällt mir nur "teilen mit rest" ein, oder genauer "euklidischer algorithmus".

dein bild ist viel zu klein, durch ranzoomen sieht man auch nicht mehr. daher weiß ich nicht welche rechnungen du ausführst, aber da es um widerstände geht... wird wohl nicht mehr als +, -, * oder / sein.

wenn z.B: 4/9 teilst, dann ist das ja 0 rest 4. das kann man nur durch abziehen der 9 von der 4 erzielen, solange es gerade noch ein nicht-negatives ergebnis hat. (hier keinmal, da 4-9 bereits kleiner 0 ist). was dann über bleibt ist der rest. entscheidend ist nun, wann der rest zur aufrundung, wann zur abrundung führt. das ist aber auch nicht schwierig. nimm den rest mal 2 und sieh ob es größer als 9 wird. 4 * 2 = 8 < 9, also wird abgerundet. denn dann weiß man, dass 4/9 < 1/2 ist !!

da du eh den mod-befehl verwenden darfst, geht das dann natürlich noch viel einfacher, du musst nichtmal den euklidischen algorithmus ausführen, falls du die ganzzahlige teilung auch beherrscht, was aber C++ ja automatisch macht, wie du schreibst. ("Nachkommastellen wegschneidet")

wenn du durch additionen und subtraktionen auf gebrochene zahlen kommst (weil du z.B.: 1+ 2,4 rechnen sollst und der input noch nicht gerundet wurde), dann kannst du auch auf das ergebnis der rechnung die teilung mit rest durch due zahl 1 ausführen.

wenn du nicht auf ganze zahlen runden sollst, sondern z.B. auf die 3te nachkommastelle, dann musst du zuerst dein ergebnis mit 1000 = 10^3 multiplizieren und dann auf ganze zahlen runden. danach wieder durch 10^3 teilen. so rundest du also erst auf "spätere" stellen nach dem komma.

Auf dem Bild kann man nichts erkennen.

du kannst z.B. mit http://sebsauvage.net/paste/ Text-Fragmente ins Web stellen.

Aber mit float oder double dürft ihr die Variablen definieren? Oder müsst ihr int verwenden? Sollt ihr den Trick mit der Skalierung rausfinden (also z.B. alle Eingangswerte mit 100 multiplizieren)?

Gruß, Max.

Wenn du 3 Nachkommastellen brauchst würde ich das Ergebnis einfach in Milliohm darstellen.

Nehmen wir an du hast zwei parallele Widerstände von 3 und 5 Ohm.

(Einheiten in Ohm)

R_ges = (3 * 5) / (3 + 5) = 1.875 und dein Programm spuckt nur 1 aus.

(Einheit von R_ges in Milliohm umwandeln)

R_ges = 1000 * (3 * 5) / (3 + 5) = (1000 * 3 * 5) / (3 + 5) = 1875


Willst du nun das Ergebnis in Ohm haben aber die Nachkommastellen nicht verlieren benutzt du den modulo.

nachkommastellen = R_ges%1000 = 875

R_ges = R_ges / 1000

Hallo, kann mir jemand bei meinem Programm helfen, es soll zwei Reihen berechnen?

Hallo liebe Communiuty,

ich habe Probleme in Informatik. Ich hoffe sehr, dass mir jemand helfen kann. Die Aufgabe ist, dass man konvergierender Reihen berechnen soll, die selbstverständlich mit einem Programm geschrieben werden sollen. Nun verstehe ich nicht mal was die konvergierender Reihen überhaupt tut oder machen soll... Kann mir jemand erklären, was sinn und zweck der ganzen Sache ist?

Das Programm soll zwei verschiedene Reihen berechnen. Es handelt sich hierbei um ein C Programm unten werde ich bilder verlinken. Ich danke euch vielmals!!!!

...zur Frage

Was ist die Nachricht dieses Bilds (Morsezeichen?)?

...zur Frage

C Programmierung: 2 Eingaben durch Komma trennen?

Hallo,

ich habe folgende Aufgabe:

Schreiben Sie ein C-Programm, das zwei Integerzahlen (Typ int) einliest und addiert.

Programm Bereichsüberschreitungen

Geben Sie bitte zwei Integerzahlen ein: x, y

Die Summe von x und y ist: _______

Experimentieren Sie mit sehr großen Werten und erläutern Sie in 5 Sätzen, welche Effekte auftreten und woran das liegt.

Mein bisheriger Code:

include

int main() { int x; int y; int ergebnis;

printf("Welche zwei Integer sollen addiert werden?");
printf("\nErster Integer: ");
scanf_s("%i", &x);
printf("Zweiter Interger: ");
scanf_s("%i", &y);

ergebnis = x + y;

printf("Das Ergebnis aus %i + %i = %i\n", x, y, ergebnis);

return 0;

}

Erstens kriege ich es nicht hin, dass ich die Eingaben des Users durch ein Komma trenne. Immer nach dem ersten Integer macht er dann automatisch ein Zeilenumbruch, bevor ich das Komma ausgeben lassen würde.

Zweitens weiß ich nicht, wieso ich mit großen Zahlen experimentieren soll. Irgendwann (ca. bei 2.147.000.000) wird die Zahl einfach zu groß für den Typ Integer. Aber das kann es doch nicht gewesen sein.

Vielen Dank im Voraus!

...zur Frage

Python - es kommt etwas vollkommen anderes heraus - woran liegt es?

Ich habe mir ein Buch für Programmieranfänger in der Sprache "Python" geholt und bisher geht alles gut. Jetzt wird mir allerdings als Beispiel zum Mitmachen etwas im Buch gezeigt, was ich Zeichen für Zeichen abgeschrieben habe. Dennoch kommt bei mir etwas komplett Falsches heraus. Bilder sind unten. Bitte um Hilfe (bei Erklärungen bitte einfach erklären)!

...zur Frage

in welchen sprachen werden instant-messenger bevorzugt oder sinniger weise geschrieben?

bitte mit erklärung

...zur Frage

Turing Maschine - moderner Computer - identische Komponente?

Hey Leute

Ich interessiere mich wahnsinnig für die Geschichte des Programmierens und des PC's Dabei stiess ich auf die Turing maschine, wobei sich bei mir eine Frage offenbarte: Inwiefern haben PC's von heute noch Komponenten der Turing Maschine? Im Internet finde ich schlicht und einfach keine zufriedenstellende, bzw. halbwegs verständliche Antwort

...zur Frage

Was möchtest Du wissen?