Mathematisches Problmen in folgender Aufgabe :-(
-
Man könnte natürlich das ganze auch per bruteforce versuchen.
Und dann jeweils die möglichen Kombinationen in einer List speichern.
-
Was genau ist für dich denn bruteforce? Was soll das bitte anderes machen als ausprobieren? Wenn du ne entsprechende Bibliothek hast, ist das vielleicht schneller, da optimiert, aber im prinzip ist meins doch ein bruteforce-Angriff?
-
[schwachfug]
-
#include <iostream.h> #include <vector> const unsigned g_ziege=35; const unsigned g_schwein=90; const unsigned g_kuh=280; struct die_tiere { unsigned ziegen; unsigned schweine; unsigned kuehe; die_tiere(unsigned z,unsigned s,unsigned k) :ziegen(z),schweine(s),kuehe(k){}; } vector <die_tiere> loesung; void berechne(unsigned input,unsigned ziegen,unsigned schweine, unsigned kuehe) { if(input==0) loesung.push_back(die_tiere(ziegen,schweine,kuehe)); else { if(input>=g_ziege) berechne(input-g_ziege,ziegen+1,schweine,kuehe); if(input>=g_schwein) berechne(input-g_schwein,ziegen,schweine+1,kuehe); if(input>=g_kuh) berechne(input-g_kuh,ziegen,schweine,kuehe+1); } }
Ähm...
ich bekomm vom compiler folgende Fehlermeldungen und kann mir leide nicht helfenC:\Lernmaterial\C++\test4.cpp(37) : error C2143: syntax error : missing ';' before '<'
C:\Lernmaterial\C++\test4.cpp(37) : error C2512: 'die_tiere' : no appropriate default constructor available
C:\Lernmaterial\C++\test4.cpp(37) : error C2143: syntax error : missing ';' before '<'
C:\Lernmaterial\C++\test4.cpp(42) : error C2065: 'loesung' : undeclared identifier
C:\Lernmaterial\C++\test4.cpp(42) : error C2228: left of '.push_back' must have class/struct/union type
Error executing cl.exe.test4.obj - 5 error(s), 0 warning(s)
-
ness schrieb:
Was genau ist für dich denn bruteforce? Was soll das bitte anderes machen als ausprobieren? Wenn du ne entsprechende Bibliothek hast, ist das vielleicht schneller, da optimiert, aber im prinzip ist meins doch ein bruteforce-Angriff?
Ganz einfach, man geht alle möglichen Kombinationen durch,
das meinte ich. Eben auch die die schwachfug sind, aber man prüft
jeweils ob Gewicht_Tiere = Gesuchtes_Gewicht ist.
Wenn ja, dann ab damit in einen Vector, oder noch besser ne list.Devil
-
Hi!
Wo ist das Problem? Dein Compiler meldet doch wo genau die Fehler sind, sollte kein Problem sein mit ein wenig Englischkenntnissen zu verstehen was gemeint ist.
Aber bei einem Fehler sage ich's dir:
Hinter der schließenden Klammer deiner Struktur fehlt das ';'.Code-Hacker
-
Ja, stimmt zwar
folgender Fehler
C:\Lernmaterial\C++\test4.cpp(40) : error C2143: syntax error : missing ';' before '<'So..
das wär dann laut compilervector; <die_tiere> loesung;
Ich glaub nicht, dass dies des Rätsels Lösung ist. Ich bin C++ neuling und mit vektoren unvertraut, jedoch glaube ich nicht, das dies richtig wär.
-
Hi!
Entweder
using namespace std;
oder
std::vector
könnten helfen.Code-Hacker
-
mit std geht es, nur wie lege ich da jetzt ne main funktion drum rum?
ich bekomm noch die FehlermeldungLinking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/knobel.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.knobel.exe - 2 error(s), 0 warning(s)
Liegt es daran, dass es keine main gibt?
#include <iostream.h> #include <vector> const unsigned g_ziege=35; const unsigned g_schwein=90; const unsigned g_kuh=280; struct die_tiere { unsigned ziegen; unsigned schweine; unsigned kuehe; die_tiere(unsigned z,unsigned s,unsigned k) :ziegen(z),schweine(s),kuehe(k){}; }; std::vector <die_tiere> loesung; void berechne(unsigned input,unsigned ziegen,unsigned schweine, unsigned kuehe) { if(input==0) loesung.push_back(die_tiere(ziegen,schweine,kuehe)); else { if(input>=g_ziege) berechne(input-g_ziege,ziegen+1,schweine,kuehe); if(input>=g_schwein) berechne(input-g_schwein,ziegen,schweine+1,kuehe); if(input>=g_kuh) berechne(input-g_kuh,ziegen,schweine,kuehe+1); } }
-
Sonik007 schrieb:
Liegt es daran, dass es keine main gibt?
ja
-
Vielen Dank
-
evtl. kannst du das gesamtgewicht faktorisieren und die gewichte der tiere ebenso und gucken wie oft du noch welche faktoren dazumultipliziern musst. a la:
tot gewicht 1000 kg = 2 * 2 * 2 * 5 * 5 *5
schaf 20 kg = 2 * 2 *5 und so weiter mit den anderen tieren.
in diesem fall welche faktoren bleiben, 2,5,5, also passen 2*5*5 schafe in die gesamtsumme.