Forum huvudsida -> Programmering -> Arrayer utan bestämd storlek
Sidor: 1
seal | 21:29 - 25:e November 2007 | Post #1 | |
Medlem Inlägg: 32 Skicka PM |
Ursäka att jag är tjatig och skriver mycket. Jag har läst på om arrays, och jag vill göra en array som inte har en bestämd storlek. Det ska vara en multidimitionell array. Har sett i exempel att de skrivit: int arrInt[] Men när jag skriver så får jag ett felmedd. i dev c++ att jag inte bestämmt storleken. Har också tittar på vektorer, men att få dessa multidimitionella förstår jag mig inte på. |
Fasting | 00:15 - 26:e November 2007 | Post #2 | |
Medlem Inlägg: 121 Skicka PM |
Nu vet jag inte i vilket fall du ska använda dig av det men om du vet hur stor den ska vara innan den ska användas kan du skicka med storleken som ett argument till en annan funktion där argumentet används som storlek. Exempel där main() tar in storleken som ett argument:
Resultat: fasting$ ./array 5 0 : 3 1 : 5 2 : 7 3 : 9 4 : 11 Kanske ett bättre exempel:
------------------------- Efter att ni har läst det här har ni insett att det inte gav något. Senast redigerad 00:26 - 26:e November 2007 |
Nissebosselasse | 01:09 - 26:e November 2007 | Post #3 | |
Medlem Inlägg: 490 Skicka PM |
Fasting: följer det där verkligen standarden? Såvitt jag vet måste det vara ett konstant uttryck mellan hakparanteserna när du skapar vektorer, t.ex.:
Däremot kan du ju skapa det med new; då behövs ingen kostant:
seal: Multidimensionella arrays kan bli lite knepiga att hantera. Det finns färdiga lösningar för det här, bland annat Boost: http://www.boost.org/libs/multi_array/doc/index.html. Annars kan du läsa mer här: http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.16 ------------------------- http://pushingcows.se Gula Nallen |
Fasting | 01:19 - 26:e November 2007 | Post #4 | |
Medlem Inlägg: 121 Skicka PM |
Citat av Nissebosselasse:Fasting: följer det där verkligen standarden? Det vet jag inte men det funkar iaf. Allt som funkar funkar \o/ ------------------------- Efter att ni har läst det här har ni insett att det inte gav något. |
Nissebosselasse | 09:53 - 26:e November 2007 | Post #5 | |
Medlem Inlägg: 490 Skicka PM |
Citat av Fasting:Citat av Nissebosselasse: Fungerar inte vare sig i Visual C++ (2003) eller Borland C++ 5.5 ("Constant expression required"). Vilken kompilator använder du? GCC? Hittade följande nämligen: http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_5.html#SEC80 ------------------------- http://pushingcows.se Gula Nallen |
Fasting | 10:37 - 26:e November 2007 | Post #6 | |
Medlem Inlägg: 121 Skicka PM |
Använder GCC ja. Har ingen annan kompilator tillgänglig så har inte kunnat testa någon annan som du gjort. Exemplet jag skrev har fungerat i andra språk (ex. Ada) och därför skrev jag det just så ------------------------- Efter att ni har läst det här har ni insett att det inte gav något. |
seal | 16:56 - 26:e November 2007 | Post #7 | |
Medlem Inlägg: 32 Skicka PM |
Citat av Nissebosselasse:Fasting: följer det där verkligen standarden? Såvitt jag vet måste det vara ett konstant uttryck mellan hakparanteserna när du skapar vektorer, t.ex.: Okej, för att du ska se lite vad jag ska göra så kan jag förklara kort, och kanske ge mig tips på en bättre lösning. Jag har en klass som har hand om bilder (objekt) som jag lägger i min Surface (SDL). I denna funktion tänkte jag lägga till x, y, w, h på alla objekt i en array. Dessa använder jag sedan när jag ska kolla om karaktären kolliderar i något av dessa objekt. Karaktären är då orörbar. Detta tänkte jag göra som så att jag loopar alla poster i en array, kollar om jag har kolliderat och returnerar true eller false beroende på resultat. EDIT; En grej kanske vore att göra en "vanlig" array, eller vektor kanske blir bäst då jag inte kan bestämma storleken, så lägger jag in alla kordinater coh separerar med ett tecken (ex, |). Men då till nästa problem, jag har försökt innan men har inte lyckats "exploda" en array, separera den. Några tips på det kanske? Tack så mycket på förhand! Senast redigerad 16:57 - 26:e November 2007 |
Smygis | 16:58 - 26:e November 2007 | Post #8 | |
Medlem Inlägg: 90 Skicka PM |
std::vector någon? ------------------------- Ingen signatur! <- OMG! Jag har inte någon signatur! Ge mig en signatur FFS! |
seal | 17:26 - 26:e November 2007 | Post #9 | |
Medlem Inlägg: 32 Skicka PM |
Citat av Smygis:std::vector någon? Läste du hela mitt inlägg? Har också tittar på vektorer, men att få dessa multidimitionella förstår jag mig inte på. |
Smygis | 18:01 - 26:e November 2007 | Post #10 | |
Medlem Inlägg: 90 Skicka PM |
Citat av seal:Citat av Smygis: Typ inte.
Output: [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] [0,1,2,3,4,5,6,7,8,9,] ------------------------- Ingen signatur! <- OMG! Jag har inte någon signatur! Ge mig en signatur FFS! Senast redigerad 18:03 - 26:e November 2007 |
Sidor: 1
Forum huvudsida -> Programmering -> Arrayer utan bestämd storlek
Du får inte posta i den här tråden | Till toppen
Datum
2024-04-25 13:50
Vecka: 17
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.