Wieso funktioniert der Code nicht?
-
#include <iostream> #include <time.h> using namespace std; int main() { srand(time(NULL)); double j[10][10]; for(int i = 0; i < 10; ++i) { for(int h = 0; h < 10; ++h) cout << j[i][h] = rand() % 100; } }Fehler:
error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'int' akzeptiert (oder keine geeignete Konvertierung möglich)
\microsoft visual studio 9.0\vc\include\ostream(584): kann 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator =(const std::basic_ostream<_Elem,_Traits> &)' sein
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
bei Anpassung der Argumentliste '(std::basic_ostream<_Elem,_Traits>, int)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
-
#include <iostream> #include <time.h> using namespace std; int main() { srand(time(NULL)); double j[10][10]; for(int i = 0; i < 10; ++i) { for(int h = 0; h < 10; ++h) { j[i][h] = rand() % 100; cout << j[i][h] << endl; } } }
-
Operatorpriorität. << hat höhere Prio als op=. Der versucht grad nen op=(ostream&, int) zu finden.
Versuch nicht alles in einer Zeile unter zu bekommen. Mach das doch schritt für schritt. was erwartest du dir von der Ausgabe?
-
Danke, habe es verbessert:
#include <iostream> #include <time.h> using namespace std; int main() { srand(time(NULL)); double j[10][10]; for(int i = 0; i < 10; ++i) { for(int h = 0; h < 10; ++h) { j[i][h] = rand() % 9; cout << " " << j[i][h]; } cout << " : " << endl; } for(int f = 0; f < 21; ++f) { cout << "-"; } cin.get(); }
-
#include <iostream> #include <time.h> using namespace std; int main() { srand(time(unsigned(NULL))); double j[10][10]; for(int i = 0; i < 10; ++i) { for(int h = 0; h < 10; ++h) cout << (j[i][h] = rand() % 100) << endl; } }"Z" und "l'abra d'or" haben aber Recht, sowas ist ungewöhnlich und macht man eig. nicht. Besser ist es Zuweisungen seperat zu machen und nicht mitten in einer Ausgabe zu machen.