Matrix in c++ mit zufallszahlen
-
hi!
ich probier grade ne matrix zu konstruieren aber so ganz klappt das noch nicht!
Bedingungen:
die spaltenform ist fest,
die zeilenform soll variabel sein
die einträge sollen zufällig sein
je zeile darf die nummer der spalte nicht vorkommen(soweit funktioniert der code den ich angehängt habe...)
aber jetzt:
je zeile darf jede zahl nur einmal vorkommen...die matrix wird noch modifiziert und ist zimlich groß
so bis zu 10 000 zeilen daher brauche ich einen effektiven code!!wär super wenn jemand ne idee hätte...
ganz vielen dank und hier mein code:#include <iostream>
#include<vector>
#include<cmath>
#include <stdio.h>
#include<cstdlib>
#include <time.h>#define MAX 10000
using namespace std;
int numc; //zeilen u spaltennr werden dann zunächst vom user eingegeben der
code dafür is da und
int numn; alle anderen deklarationen auchint main()
for (int i=0;i<numn;i++)
{
for(int j=0; j<numc;j++)
{int num;
num=rand()%numn+0;
neighbours[i][j]=num;if (neighbours[i][j]==i)
{
neighbours[i][j]=rand()%numn+0;
}
cout<<neighbours[i][j]<<endl;for (int h=0;h<numc;h++)
{
if (num==neighbours[i][h])
num=rand()%numn+0;
cout<<neighbours[i][j]<<endl;
}}
}
chaos n bischen ich weiß...
lg
-
Ich habe eine Idee: gib dir bei der Darstellung deines Postings mehr Mühe, dann hast du auch Chancen, dass sich jemand deinen Code anschaut.
Wenn du nicht weißt was ich meine surfe mal durch andere Threads hier im Forum...
-
so.. so sollte man es lesen können
#include <iostream> #include<vector> #include<cmath> #include <stdio.h> #include<cstdlib> #include <time.h> #define MAX 10000 using namespace std; int numc; //zeilen u spaltennr werden dann zunaechst vom user eingegeben der code dafuer is da und int numn; //alle anderen deklarationen auch int main() { for ( int i = 0;i < numn;i++ ) { for ( int j = 0; j < numc;j++ ) { int num; num = rand() % numn + 0; neighbours[i][j] = num; if ( neighbours[i][j] == i ) { neighbours[i][j] = rand() % numn + 0; } cout << neighbours[i][j] << endl; for ( int h = 0;h < numc;h++ ) { if ( num == neighbours[i][h] ) num = rand() % numn + 0; cout << neighbours[i][j] << endl; } } } }
-
Schöne Formatierungsweise hast du da Zwutz, da ist der unformatierte Quellcode ja noch einfacher zu lesen

-
Tippgeber schrieb:
Schöne Formatierungsweise hast du da Zwutz, da ist der unformatierte Quellcode ja noch einfacher zu lesen

halt die Backen still, wenn du nichts sinnvolles zu sagen hast, ich hab lediglich die Formatierung des OP übernommen
-
zwutz, wenn du deinen Code immer so unleserlich formatierst, wird den bald niemand mehr lesen wollen!

-
am einfachsten wär es wohl, wenn du dir merkst, welche Zahlen du schon verwendet hast und diese entsprechend zu überprüfen und gegebenenfalls eine andere ermitteln (und dann natürlich nochmal zu überprüfen)
oder du speicherst alle Spaltennummern in einer Liste und nutzt das hier... das wär eleganter

-
ui habs jetzt....
wenns jemanden interessiert poste ichs nochhmal..
-
und werd mir in zukunft noch mehr mühe geben danke für die tipps
war nur grad wütend weil nix mehr funktioniert hat, kennt glaub ich jeder...
sorry
-
LOUb schrieb:
ui habs jetzt....
wenns jemanden interessiert poste ichs nochhmal..es wäre durchaus interessant, deine Lösung zu sehen... evtl kann man daran was verbessern, aber auf alle Fälle hilft es denen, die das selbe Problem haben
-
zwutz schrieb:
Tippgeber schrieb:
Schöne Formatierungsweise hast du da Zwutz, da ist der unformatierte Quellcode ja noch einfacher zu lesen

halt die Backen still, wenn du nichts sinnvolles zu sagen hast, ich hab lediglich die Formatierung des OP übernommen
Wozu hast du dann überhaupt gepostet, wenn du dir nichtmal die Mühe machst den Code sauber zu formatieren?
Falsche Formatierung ist noch schlimmer als gar keine, bei letzterem lässt man sich nämlich nicht durch falsche Formatierung in die Irre leiten.