variabelt 2-dimensionelt array

Tags:    c++ .net c#

Hej...

jeg har lidt problemer... jeg og en kammerat er ved at lave en skoleopgave hvor vi skal bruge et 2 dimensionelt array... vi skal udskrive lottorækker og bruge command line arguments til at skrive hvor mange... men vi har det lille problem at hvis vi nu sætter vores array til tal[100][7] og brugeren så skriver C:/lotto 110 så vil vores program ikke kunne køre derfor vil vi gerne have det således:

tal[a][7] således at a bliver defineret udfra det tal vi får fra vores argument...

på forhånd tak



7 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
KUnne man ikke lave en variabel og så en cin sætning?
cout << "Hvilken række vil du have?"<<endl;
int a;
cin >> a >>endl;
tal[a][7];

Det var bare et gæt... :)
Med Venlig Hilsen: CHadi




Hej
Kunne det ikke laves med
int tal[][];
tal =new int [5][5]; // 5 5 sættes til brugeren arg...

Blot et gæt...

Skriv evt. lidt mere omkring programmet, så er det nemmere at arbejde med....

Janus S. Andersen




Hej
Kunne det ikke laves med
int tal[][];
tal =new int [5][5]; // 5 5 sættes til brugeren arg...

Blot et gæt...

Skriv evt. lidt mere omkring programmet, så er det nemmere at arbejde med....

Janus S. Andersen




Så vidt jeg ved kan man ikke lave dynamiske arrays i C. husk at arrayet bliver lavet når man kompiler programmet.

programmet skal vide hvor meget hukommelse det skal afsætte til arrayet og det kan det ikke hvis i sætter det dynamisk.
man kan sammenligene det lidt med en variabel af typen #DEFINE som man heller ikke kan ændre efter erklæring.
~Life is to short for windows~



Hej
Kunne det ikke laves med
int tal[][];
tal =new int [5][5]; // 5 5 sættes til brugeren arg...

Blot et gæt...

Skriv evt. lidt mere omkring programmet, så er det nemmere at arbejde med....

Janus S. Andersen




Så vidt jeg ved kan man ikke lave dynamiske arrays i C. husk at arrayet bliver lavet når man kompiler programmet.

programmet skal vide hvor meget hukommelse det skal afsætte til arrayet og det kan det ikke hvis i sætter det dynamisk.
man kan sammenligene det lidt med en variabel af typen #DEFINE som man heller ikke kan ændre efter erklæring.
~Life is to short for windows~


Du kan altid selv allokere pladsen dynamisk (på programmet's heap) vha. malloc... se tidligere besvarelse... tilsvarende er new også en måde at allokere pladsen dynamisk.




KUnne man ikke lave en variabel og så en cin sætning?
cout << "Hvilken række vil du have?"<<endl;
int a;
cin >> a >>endl;
tal[a][7];

Det var bare et gæt... :)
Med Venlig Hilsen: CHadi



nej det kan ikke lade sig gøre... det vil den i hver tilfælde ikke...

har også prøvet med
int *p;
p = new int (a);

...

delete p;



Hvad med den manuelle måde....

Fold kodeboks ind/udKode 




Hvis du har fået svar på dit spørgsmål, eller ikke har brug for svaret længere, så luk venligst denne tråd.



/AC



t