Neu dabei... (Fragen zu Wurzel+Projekt)
-
Hey!
Ich hätte mal 2 Fragen und bitte nicht hauen, wenn es die schon mal gab... Gefunden hatte ich dazu allerdings nicht...
Und war 1. Ich hab c++ 4 und jetzt als Hausaufgabe auf die Wurzel von z.B 48 auszurechnen, allerdings mit nähern. Es ist ja nicht so dass und dazu irgendwas erklärt wird und so komm ich eigentlich nicht weit...
Und das hier is wohl kaum richtig, das hab ich in 2Min. noch vor Schulschluss hingekritzelt... Könnte mir da vielleicht einer helfen? Wäre lieb 
#include <iostream.h> #include <stdlib.h> float main() { float a = 1 ; float b = 42; float c= float d = (a+c)/2; char *ende; cout << "Die Wurzel aus " <<b<<" liegt zwischen "<<a<<" und" <<d<<endl; cout<< "Zwischen" <<b/d<< " und " <<d<<endl; cout<<"Zwischen cin>>ende; }Meine 2 Frage wäre, als Projekt müssen wir irgendwas programmieren, was leichtes... Ohne Texte und Bilder... Klingt vielleicht sehr langweilig und einfach doch ich hab keine Ahnung was man da so machen könnte, denn vorgeschlagene Beispiele vom Lehrer kommen nie gut
Hätt da vielleicht einer ne Idee?? Vorschläge waren halt Lotto, Einarmiger Bandit, Priemzahlen, Nullstellen berechnen und so...
-
Ähm...
Also, wenn der lehrer euch aufgegeben hat, irgendwie wurzel zu berechnen, ohne die vorgefertigten funktionen zu verwenden, dann würde sich da der sogenannte Heron-Algorithmus sehr gut anbieten, das kann man beispielsweise so umsetzen:#include <iostream> //wurzel mit dem heron-algorithmus float sqrtf_heronStyle(float x, unsigned short iters=8){ float approximation=1.0f; for(unsigned short i=0; i<iters; i++){ approximation=(approximation+x/approximation)*0.5f; } return approximation; } //main... int main(){ std::cout<<sqrtf_heronStyle(2.0f)<<std::endl; std::cout<<sqrtf_heronStyle(48.0f)<<std::endl; char a; std::cin>>a; //imho ueberfluessig, aber was solls... return 0; }liefert auch ganz akzeptable ergebnisse... wenn du es genauer brauchst, nimm halt "double" als parameter- bzw rückgabetyp, oder mach n template draus wenn du nichts besseres zu tun hast
*overkill^100*so... "nicht haun"? bhahahahh! wo bleibt dann die motivation was zu lernen heh?

also:
-
<iostream.h> gibts nur in C , in C++ gibts <iostream>
-
genaudasselbe zum anderen header (wegstreichen: nicht gebraucht)
-
kein namespace festgelegt, "std::" hab ich auch niregndwo entdeckt => 100 fehler für jede "cin" und "cout" anweisung, weil der compiler keine ahnung hat, wo er die funktionen suchen soll...
-
"char *ende" ist ein zeiger auf einen char= was willst du damit???

-
"float c= " was soll das heissen?
-
"float main()"
hat dir der lehrer das beigebracht???? glaub ich kaum^^ schleunigst durch "int" ersetzen, sonst gibts tote, weil der kompiler gar nicht mehr weis, wo der mit der ausführung anfangen soll... -
zeile dreizehn: totaler müll... keine "gaensefuesse", keine semikolons... 0 sinn vor allem...
-
ey mensch
hast du das überhaupt jemals versucht, an irgendeinen kompiler zu verfuettern? oder hast du gar keinen auf deinem rechner? Dann ist es natürlich n bissl schwierig, das ist sowas wie baueme faellen ohne axt und saege, sondern mit blossen haenden. Kein wunder dass da so ein mist rauskommt
Wenn euch der lehrer nich gesagt hat, woher ihr eure werkzeuge herkriegen sollt = sagt ihm der soll euch am voll a**** lecken 
-
"2Min" sind definitiv nicht genug. Naechstes mal strengst du dich gefaelligst n bissl mehr an, bevor du hier fragen stellst. Ist ne allgemeine regel...
Und ausserdem bin ich mir 100% sicher, dass du grad keinen kompiler zur hand hast... da ists natuerlich bloed => stresst mal den lehrer n bissl, der soll doch irgendwie dafür sorgen, dass ihr eure hausis machen koennt...
zum projekt:
keine grafik, kein text... aha^^ was bleibt da noch übrig? sound^^ ?
such dir irgendeine schoene matheaufgabe, kP was du grad in mathe machst, kann dir nichts empfehlen...
-
-
Mach nen Umrechner ist aber ein Haufen Arbeit

-
"umrechner"? von meter in Zentimeter oder sogar sowas wie Celsius nach Fahrenheit?

-
Red Dawn schrieb:
Hätt da vielleicht einer ne Idee??
Implementier Standardalgorithmen oder Datenstrukturen, das kommt immer gut, passt zu C++ und zeigt, dass Du etwas verstanden hast. Eine gute Auswahl gibt es hier:
Konkret würde ich vorschlagen, dass Du je nach gewünschtem Aufwand z.B. eine Deque (wenig Aufwand) oder eine Vorrangswarteschlange ("priority queue", mehr Aufwand) implementierst.
-
@Andrey: Das einzige was mein Lehrer uns gesagt hat ist, das muss mit a+b/2 gerechnet werden, so durch annähern, sonst nix... Wir sollten halt selber versuchen etwas herauszufinden... Und ich habs ja versucht selber was zu machen, aber wenn die die Praxis am PC fehlt weil du nich an den PC-Raum konnst wegen Abi is das n bissel schwer! Trotzdem danke, ich werds mal ausprobieren! Und dass 2Min. nich reichen ist klar
Allerdings war die Stunde zu ende^^Zu dem "nich hauen" Es gibt Foren wo man total einen aufn Deckel bekommt wenn man etwas fragt, was schonmal irgendwo beantwortet wurde, deswegen...
Also das was ich da geschrieben hatte, da kamen in der Schule keine Fehler, allerdings vorher. Ich wollte nämlich noch was verändern, hatte dann keine Zeit mehr und es so stehen gelassen... Hätte bevor ichs hier poste nochma gucken sollen, aba ich habs vergessen, sorry!!

Das floar c= , da wollte ich wie gesagt noch was hinschreiben^^ Namenspace hatten wir in der Schule noch gar nicht. "char *ende" benutzen wir in der Schule, genauso wie "cin" und "cout" . Int main () hatte ich vorher genauso bei int a= und so, aber es sollten ja Flieskommastellen sein, deswegen sollten wir es in float ändern. Vielleicht nicht da, hatte ich aber so verstanden...
Zum Projeckt, nope, Sound auch nich, es soll was leichtes sein... Ich mach vielleicht Zahlenraten, sehr primitiv ich weiß

... Aber die anderen Ideen sind auch gut!@ Konrad Rudolph: Danke für den Link, ich guck da mal!

-
Andrey schrieb:
"umrechner"? von meter in Zentimeter oder sogar sowas wie Celsius nach Fahrenheit?

Nein von Dezimal nach Hexadezimal oder ins Binärsystem....
wie gesagt kannste nicht in einer Minute machen
du musst 12 Funktionen schreiben und 1 mainZahlenraten hab ich auchmal gemacht das geht schnell

-
? dezimal in dual ist nen 2zeiler -.- weiß nicht wo du da nen Problem drin siehst ..
-
Ok, jetzt hat dir Andrey die Hausaufgabe gemacht, das ist nicht so der Sinn der Sache denke ich, aber egal. Versuch jetzt, seinen Code zu verstehen, was er genau macht usw (wobei ich nicht weisz, ob ihr Funktionen schon hattet) Bei nicht verstandenen Stellen bitte dann fragen. Im Zweifelsfalle halt erstmal nach dem Heron Algorithmus googln, herausfinden was der macht, und das dann selbst nach programmieren.
Als Projekt, hmm, da wärs interessant zu wissen, wie weit ihr seid. Ich hätte eine Verschlüsselung interessant gefunden, hängt aber davon ab, ob ihr die nötigen Grundlagen schon habt.
Dann zu n paar Sachen:
iostream.h und co sind veraltet und sollten nicht mehr benutzt werden. Statt dessen einfach iostream. Mit andern Worten, was ihr da beigebracht bekommt ist... hmm, ich würd sagen schlecht.wenn man namensräume noch nicht kennt, ist das für den Anfang auch nicht schlimm: einfach unter die includes der Header "using namespace std" schreiben (aber nicht, wenn du selber einen Header schreibst, aber das ist ja aktuell eh noch nicht der Fall)
-
Wir hatten bisher nur Schleifen und Variablen... Aber ich werds versuche, kann euch ja dann auch nächste Woche sagen, wie mein Lehrer die Aufgabe gelöst hat...
Wir sind nicht wirklich weit, das ist ja das Problem! Verschlüsselung sei zu schwer für uns -.-" Vorschläge waren: Lotto, Einarmiger Bandit, Zahlenraten, Monte-Carlo Methode, Bestimmung Nullstelle, Böse 1 (Würfelspiel), Additionverfahren, was mit Primzahlen und Berechnung von KGV und ggT
wofür sind denn genau diese Header?
-
jetzt hat dir Andrey die Hausaufgabe gemacht
wird in foren normalerweise selten gemacht, ich weiß, aber wie soll denn der OP sonst irgendetwas lernen, wenn der vom lehrer 0 hilfe/lernstoff bekommt, und auch kein buch über c++ zur hand hat... Ohne buch würde ich wohl auch verzweifeln...

zu den headern:
header enthalten im allgemeinen deklarationen von klassen und funktionen, die in irgendeinen anderen kompilationseinheit definiert sind. Diese header brauchst du, um diese funktionen in deinem programm benutzen zu können. mit dem <iostream> header kannst du zum beispiel in deiner konsole irgendetwas ausgeben oder einlesen (hast funktionen cout und cin zur verfügung).\wäre aus pädagogischer sicht natürlich besser, wenn du dir einafch irgendwo nen compiler auftreiben und eiregndein tutorial durcharbeiten würdest.

-
@Andrey: sry, kam aggressiver rüber als gedacht, tschuldigung.
@TE: Andrey benutzt eigentlich nur Variablen und Schleifen... blosz dass er es in eine Funktion ausgelagert hat. Google wie gesagt mal nach dem Heron-Algorithmus (Ich kannte den Namen nicht, hoffentlich hat Andrey recht, hehe) und sieh dir an wie er funtkionniert. Probier das zu implementieren, frage nach wenn du nicht weiterkommst, wobei du deinen bis dahin geschriebenen Code und das genaue Problem angeben solltest. Hat nen besseren Lerneffekt.
Die Vorschläge deines Lehrers klingen für das aktuell gelernte doch ganz gut find ich.
Du könntest auch ein Münznimmspiel machen: man legt 20 Münzen auf den Tisch und jeder Spieler nimmt pro Zug 1-3 Münzen weg, wer die letzte Münze zieht hat gewonnen. Ist recht bis sehr simpel (und nein, an alle die es wieder erkennen: nicht sagen aus welchem Tutorial, ja?)
Ansonsten finde ich Primzahlen gut, weil man das schön optimieren kann: erst testet man, ob die Zahl durch irgendeine Zahl teilbar ist von 2 bis zu Zahl-1. Dann kommt der Gedanke: Hey, bis zur Hälfte reicht auch, dann der: ok, bis zur Wurzel würde auch reichen, dann vielleicht, dass man es nach der 2 eh durch keine geraden Zahlen mehr probieren muss und dann, ja, danach wirds interessant.
-
Shinja schrieb:
@Andrey: sry, kam aggressiver rüber als gedacht, tschuldigung.
ach joo, ist doch alles in ordnung, habs gar nicht als "aggressiv" empfunden, und es ist halt einfach wirklich unüblich, dass man die fertigen lösungen postet 
damit der OP auch besser versteht, was das programm macht
:
http://de.wikipedia.org/wiki/Heron-VerfahrenAnsonsten sollte lieber mal jemand erzählen, wo man als normalsterblicher einen C++ compiler kostenlos kriegt. Weil ohne kompiler ist das alles hier sowieso vollkommen sinnlos, und ich hab kP, wo es sowas kostenlos gibt... :p
-
Den Visual C++ Express 2005 gibt es gratis zum runterladen, da hat man ne IDE gleich mit bei.
Da die IDE am Anfang etwas verwirrend sein kann:
auf "Neues Projekt" klicken
In der Kategorie "Allgemein" "Leeres Projekt" auswählen und Projektnamen eingeben.
Projekt erstellen.
Auf "Neues Element hinzufügen" klicken.
C++-Datei auswählen, namen eingeben und ok klicken.
Loscoden.
Unter "Erstellen" "[Name des Projekts] erstellen" auswählen.
unter "Debuggen" "Starten ohne Debuggen" wählen.Hast du den Code richtig geschrieben macht dein Prohgramm jetzt was du willst.... in 99% der Fälle musst du den Code erst mal korrigieren, aber das kennst du ja schon.
-
(D)Evil schrieb:
? dezimal in dual ist nen 2zeiler -.- weiß nicht wo du da nen Problem drin siehst ..
Ich sehe darin kein Problem das ist es ja was ich versuche euch mitzuteilen so ein Umrechner ist ganz leicht mit iostream, cmath und iomanip zu machen genau aus diesem Grund meine ich das ja OK ich gebe zu das mit dem
da wirst du lange brauchen
Zeug ist übertrieben, hab wohl au versehen da von meinem geredet ist nämlich mehr als nur Umrechner aber bbT Fakt ist er kriegt ihn in Standard C++ hin(mehr oder weniger) und so etwas kann man eigentlich immer gut gebrauchen(ich zumindest)
-
..:,,;.,,?!?
-
Andrey schrieb:
..:,,;.,,?!?
????????????

-
entschuldige Digger182, aber ich bin mit deinem letzten beitrag nicht so wirklich zurechtgekommen, weil ich dort ~9 Satzzeichen vermisse... in drei zeilen^^

-
Also ich habe Dev c++ Version 4 und damit arbeiten wir auch in der Schule
... Hab ma nach dem Heronverfahren gegooglet, allerdings sollten wir das mit der Intervallhalbierungsverfahren lösen =S Und diesmal habe ich viel bei google gesucht, dazu finde ich nix... Ich verzweifle echt zum ersten mal an einem Thema in Info 0.o Vielleicht liegts echt daran, dass wir die ganze Zeit den schieß an der Tafel gemacht haben... Um ne Nullstrelle zu suchen muss ich nix programmieren, ich stehe auf der Nullstelle, ich versteh nämlich echt nix...
Jedenfalls vielen Dank, dass ihr mir versucht/versucht habt zu helfen! tutorial is gut, habt ihr einen Vorschlag für einen guten? Bei Google bekommt man ja gleich xtausend um die Ohren geworfen..
-
intervalhalbierungsdingsbums ist zwar lahm, jedoch sehr simpel:
gesucht: wurzel x
für x>1 zum beispiel:
- untere intervallgrenze u wählen u=1
- obere intervallgrenze o wählen o=x
- intervall [u,o] halbieren, nennen wir die mitte zB m
- m quadrieren
wenn m²>x, dann o=c
wenn m²<x, dann u=cdamit hast du den intervall halbiert. Jetzt hast du neue grenzen [u,o] und darfst dieselbe rechnung von vorne anfangen. und so zum beispiel 100 mal. Wenn du mit dem code fertig bist, poste den mal hier, wir wollen ja alle sehen, dass du auch was gelernt hast

\und dann den fall 0<x<1 nicht vergessen! aber wie du da rechnest, musst du schon selbst rausfinden
