Baktereinzähler - brauche dringend hilfe
-
poroblem schrieb:
std::cout und std::pow verstehe ich nicht. Zwar weiß ich, dass die :: dafür da sind um die begriffe zu trennen, aber dieses Thema habe ich noch nicht ausführlich durchgenommen.
...
Wenn ich ehrlich bin, hast du mein interesse geweckt. Ich will jetzt wissen, was die ganzen std::cout´s etc. machen
std::cout entspricht cout. Nur du hast noch den alten Header iostream.h benutzt. Der neue ist iostream. Dort sind aller Befehler im namespace std, den du entweder mit einem
using namespace std;
ansprichst, oder for jeden Befehl ein std:: setzt.zahl=zahl*2; //Kann man das noch einbisscehn kürzen? //Würde das nicht auch so gehen: zahl+=zahl ?
Ja das geht sogar:
zahl *= 2;
mfg.
-
Such mal in google nach Namespaces bzw. Namensbereichen oder schau dazu in deiner bevorzugten C++-Referenz nach. Mit :: gibt man an, in welchem Namespace der Compiler nach etwas suchen soll. Meine Variante ist übrigens schneller als pow(2, x). Irgendwer hatte hier eine Signatur zu diesem Thema
geloescht
-
Gut, ich bleibe hier. Anmelden werde ich mich auch, wenn ich ein tollen Namen gefunden habe.
zurzeit habe ich das Buch "C- Programmieren von Anfang an". Ich werde mir wohl "C++ objektorientiertes Programmieren von Anfang an" und "C++ Objektorientiertes Programmieren für Windows" kaufen. Alle Bücher sind von Helmut Erlenkötter. Das tutorial werde ich auch durchlesen.Zwar habe ich immernoch nicht verstanden was die ganzen sachen machen, aber das war bei meinem ersten Textausgabeprogramm(als ich zum ersten mal programmiert habe) auch so.
Findet ihr es nicht einbisschen früh, mit 15 C++ zu lernen?? Wie alt wart ihr als ihr angefangen seit?
-
poroblem schrieb:
Gut, ich bleibe hier. Anmelden werde ich mich auch, wenn ich ein tollen Namen gefunden habe.
zurzeit habe ich das Buch "C- Programmieren von Anfang an". Ich werde mir wohl "C++ objektorientiertes Programmieren von Anfang an" und "C++ Objektorientiertes Programmieren für Windows" kaufen. Alle Bücher sind von Helmut Erlenkötter. Das tutorial werde ich auch durchlesen.Zwar habe ich immernoch nicht verstanden was die ganzen sachen machen, aber das war bei meinem ersten Textausgabeprogramm(als ich zum ersten mal programmiert habe) auch so.
Findet ihr es nicht einbisschen früh, mit 15 C++ zu lernen?? Wie alt wart ihr als ihr angefangen seit?
Ich bin 15 und hab mit 13 angefangen. Allerdings hatte ich vorher schon einbisschen PHP und JavaScript programmiert. Hast du schon allgemeine Programmiererfahrungen?
mfg.
-
Ja ich habe schon programmiert, nur waren es immer internetprogrammiersprachen.
Da mache ich eigentlich viel css und php kann ich sehr gut. Da kommen noch ein paar andere Sprachen, die es aber nicht wert sind erwähnt zu werden.
-
ich sehe grade, dass du auch css programmierst. Wenigstens einer, der weiß wie man <div> anstadt <td> benutzt
-
Nuja, eigentlich hat CSS nichts von programmieren. Dennoch ist es mit 15 bestimmt nicht zu früh (ich weiß nicht mehr genau wann ich angefangen hab, aber ich glaub es war um 12 rum, direkt nach Basic ;)). Lass auf jeden Fall die Finger von Windows-Programmierung. Bleib bei Standard-C++, ohne irgendwelche Libs, das ist für den Anfang am Besten.
-
Jetzt nochmal zurück zu eigentlichen Programm:
Der code sieht jetzt zwar schöner aus, funktioniert aber trotzdem nicht richtig.
Ich kopiere einfach mal :Hiermit habe ich jetzt 2 probleme, wo ich es nicht geschaft habe sie zu lösen:
1. Die Tage (x) werden falschrum dargestellt, nämlich steht oben der höchste wert und unten der kleinste. Ausserdem steht bei der gleinsten Tagesanzahl (natürlich immer 1) die größte bakterienanzahl ... das muss natürlich anders rum sein.
2. Die gleine Bakterienanzahl ist noch richtig, aber später kommen zahlen wie> 4.29497e+009
oder
> #INF
das soll auch nicht sein. Ich brauche die Zahlen ausgeschrieben. Extra habe ich long double genommen, aber trotzdem scheint es nicht zu reichen.
-
printf und nimm ne andere loopvariable
-
#include <iostream> #include <iomanip> int main () { int x; std::cin >> x; long double res = 1; for (int i = 1 /* statt 0 */; i <= x; ++i) std::cout << "2^" << i << " = " << std::setprecision (0) << std::fixed << (res *= 2) << std::endl; return 0; }
// edit
ich schäme mich
-
Ähm rackwitz ... du hast mir jetzt überhaupt nicht geholfen
Warum soll ich das mit printf machen, wenn cout doch viel besser und eifacher ist. Das so verfältschte ergebnisse rauskommen hat auch nichts mit der while-schleife zu tun. Wichtig ist mir in erster linie, dass stat de, 4.492245e+091 eine normale zahl rauskommt.
-
Ah danke .filmor ...
-
Ich habe immernoch die gleichen fehler Die zahlen werden nicht deximal ausgegeben!!!
Villeicht sollte man aufhören den code zu verbessern und lieber gucken wo der fehler liegt ??!!!
-
Was zum...?!
So sieht die Ausgabe für meinen Code aus:
63 2^0 = 2 2^1 = 4 2^2 = 8 2^3 = 16 2^4 = 32 2^5 = 64 2^6 = 128 2^7 = 256 2^8 = 512 2^9 = 1024 2^10 = 2048 2^11 = 4096 2^12 = 8192 2^13 = 16384 2^14 = 32768 2^15 = 65536 2^16 = 131072 2^17 = 262144 2^18 = 524288 2^19 = 1048576 2^20 = 2097152 2^21 = 4194304 2^22 = 8388608 2^23 = 16777216 2^24 = 33554432 2^25 = 67108864 2^26 = 134217728 2^27 = 268435456 2^28 = 536870912 2^29 = 1073741824 2^30 = 2147483648 2^31 = 4294967296 2^32 = 8589934592 2^33 = 17179869184 2^34 = 34359738368 2^35 = 68719476736 2^36 = 137438953472 2^37 = 274877906944 2^38 = 549755813888 2^39 = 1099511627776 2^40 = 2199023255552 2^41 = 4398046511104 2^42 = 8796093022208 2^43 = 17592186044416 2^44 = 35184372088832 2^45 = 70368744177664 2^46 = 140737488355328 2^47 = 281474976710656 2^48 = 562949953421312 2^49 = 1125899906842624 2^50 = 2251799813685248 2^51 = 4503599627370496 2^52 = 9007199254740992 2^53 = 18014398509481984 2^54 = 36028797018963968 2^55 = 72057594037927936 2^56 = 144115188075855870 2^57 = 288230376151711740 2^58 = 576460752303423490 2^59 = 1152921504606847000 2^60 = 2305843009213694000 2^61 = 4611686018427387900 2^62 = 9223372036854775800 2^63 = 18446744073709552000
Und diese Zahlen sind sowas von dezimal!
-
naja die zahlen sind doch überdreht und zu groß oder?
ich meine rechne dir mal im kopp aus wie big die sind
-
Was zum...?! So sieht die Ausgabe für meinen Code aus: Code: 63 2^0 = 2 2^1 = 4 2^2 = 8 2^3 = 16 2^4 = 32 2^5 = 64 2^6 = 128 2^7 = 256 2^8 = 512 2^9 = 1024 2^10 = 2048 2^11 = 4096 2^12 = 8192 2^13 = 16384 2^14 = 32768 2^15 = 65536 2^16 = 131072 2^17 = 262144 2^18 = 524288 2^19 = 1048576 2^20 = 2097152 2^21 = 4194304 2^22 = 8388608 2^23 = 16777216 2^24 = 33554432 2^25 = 67108864 2^26 = 134217728 2^27 = 268435456 2^28 = 536870912 2^29 = 1073741824 2^30 = 2147483648 2^31 = 4294967296 2^32 = 8589934592 2^33 = 17179869184 2^34 = 34359738368 2^35 = 68719476736 2^36 = 137438953472 2^37 = 274877906944 2^38 = 549755813888 2^39 = 1099511627776 2^40 = 2199023255552 2^41 = 4398046511104 2^42 = 8796093022208 2^43 = 17592186044416 2^44 = 35184372088832 2^45 = 70368744177664 2^46 = 140737488355328 2^47 = 281474976710656 2^48 = 562949953421312 2^49 = 1125899906842624 2^50 = 2251799813685248 2^51 = 4503599627370496 2^52 = 9007199254740992 2^53 = 18014398509481984 2^54 = 36028797018963968 2^55 = 72057594037927936 2^56 = 144115188075855870 2^57 = 288230376151711740 2^58 = 576460752303423490 2^59 = 1152921504606847000 2^60 = 2305843009213694000 2^61 = 4611686018427387900 2^62 = 9223372036854775800 2^63 = 18446744073709552000 Code: 63 2^0 = 2 2^1 = 4 2^2 = 8 2^3 = 16 2^4 = 32 2^5 = 64 2^6 = 128 2^7 = 256 2^8 = 512 2^9 = 1024 2^10 = 2048 2^11 = 4096 2^12 = 8192 2^13 = 16384 2^14 = 32768 2^15 = 65536 2^16 = 131072 2^17 = 262144 2^18 = 524288 2^19 = 1048576 2^20 = 2097152 2^21 = 4194304 2^22 = 8388608 2^23 = 16777216 2^24 = 33554432 2^25 = 67108864 2^26 = 134217728 2^27 = 268435456 2^28 = 536870912 2^29 = 1073741824 2^30 = 2147483648 2^31 = 4294967296 2^32 = 8589934592 2^33 = 17179869184 2^34 = 34359738368 2^35 = 68719476736 2^36 = 137438953472 2^37 = 274877906944 2^38 = 549755813888 2^39 = 1099511627776 2^40 = 2199023255552 2^41 = 4398046511104 2^42 = 8796093022208 2^43 = 17592186044416 2^44 = 35184372088832 2^45 = 70368744177664 2^46 = 140737488355328 2^47 = 281474976710656 2^48 = 562949953421312 2^49 = 1125899906842624 2^50 = 2251799813685248 2^51 = 4503599627370496 2^52 = 9007199254740992 2^53 = 18014398509481984 2^54 = 36028797018963968 2^55 = 72057594037927936 2^56 = 144115188075855870 2^57 = 288230376151711740 2^58 = 576460752303423490 2^59 = 1152921504606847000 2^60 = 2305843009213694000 2^61 = 4611686018427387900 2^62 = 9223372036854775800 2^63 = 18446744073709552000 Code: 63 2^0 = 2 2^1 = 4 2^2 = 8 2^3 = 16 2^4 = 32 2^5 = 64 2^6 = 128 2^7 = 256 2^8 = 512 2^9 = 1024 2^10 = 2048 2^11 = 4096 2^12 = 8192 2^13 = 16384 2^14 = 32768 2^15 = 65536 2^16 = 131072 2^17 = 262144 2^18 = 524288 2^19 = 1048576 2^20 = 2097152 2^21 = 4194304 2^22 = 8388608 2^23 = 16777216 2^24 = 33554432 2^25 = 67108864 2^26 = 134217728 2^27 = 268435456 2^28 = 536870912 2^29 = 1073741824 2^30 = 2147483648 2^31 = 4294967296 2^32 = 8589934592 2^33 = 17179869184 2^34 = 34359738368 2^35 = 68719476736 2^36 = 137438953472 2^37 = 274877906944 2^38 = 549755813888 2^39 = 1099511627776 2^40 = 2199023255552 2^41 = 4398046511104 2^42 = 8796093022208 2^43 = 17592186044416 2^44 = 35184372088832 2^45 = 70368744177664 2^46 = 140737488355328 2^47 = 281474976710656 2^48 = 562949953421312 2^49 = 1125899906842624 2^50 = 2251799813685248 2^51 = 4503599627370496 2^52 = 9007199254740992 2^53 = 18014398509481984 2^54 = 36028797018963968 2^55 = 72057594037927936 2^56 = 144115188075855870 2^57 = 288230376151711740 2^58 = 576460752303423490 2^59 = 1152921504606847000 2^60 = 2305843009213694000 2^61 = 4611686018427387900 2^62 = 9223372036854775800 2^63 = 18446744073709552000 Und diese Zahlen sind sowas von dezimal!
Bei mir eben nicht da kommen immer diese "buchstaben, zahlen, zeichen" -zahlen raus.
Was für ein compiler benutzt du?
Villeicht habe ich ja ein 16 bit-rechner ?? Kann es was damit zu tun haben?
Oder ist mein Compiler falsch eingestellt?
Ich probiere das programm nochmal unter VSC++ aus.omg ... rechner neustarten -> windoof auswählen -> programm prüfen -> pc neustarten -> linux auswählen und 2 min warten ........ das nervt langsam
-
Sorry, das war umbeabtsichtig.
-
Ich benutz MinGW (also g++ für Windows). Hast du meinen Code mal genau kopiert? (Z.B. sind die Klammern um res *= 2 äußerst wichtig)!
-
2^0 = 1 und 2^1 = 2...
-
Wir benutzen den gleichen compiler
Ich schaue mal wegen den klammern nach. Melde mich in 5 min wider...
(warum habe ich es nicht geschaft ein compiler unter linux zu installieren
)