[LØST] Dynamisk tildeling av minne i flerdimensjonal array

2 innlegg i emnet

Skrevet

Hei =)

Tenkte jeg skulle prøve meg på litt dynamic allocation av minne i flerdimensjonelle arrays.

Det var ikke så enkelt som jeg trodde ;P

Koden bygger, men resultatet er HELT feil :P

Her er hvertfall koden, med kommentarer og det hele.

[/b]#include <iostream>
#include <new>

using namespace std;

int main()
{
/* NOTES:
- The program builds, but will not give right results...
*/
/* ---> Part one <--- */
char (*pNames)[80]; // Create a pointer to the name-array
int MAX = 0; // Create a value for the number of names to be entered and read

cout << "How many names do you want? ";
cin >> MAX;

pNames = new char[MAX][80]; // Dynamicly allocate an array with MAX number of names

cout << "Enter " << MAX << " names: " << endl;
for(int i = 0; i != MAX; ++i)
{
cin.getline(*pNames + i, 80, '\n'); // Read MAX names into names array
}


/* ---> Part two <--- */
system("cls"); // Clear the screen for showing the names that have been written

cout << "Here are all the names you wrote: " << endl;
for(int i = 0; i != MAX; ++i)
{
cout << *pNames + i << endl;
}


delete [] pNames;
pNames = 0;
system("pause");
return 0; // Exit
}
[b][/codebox]

[/b]

PS.

Bruker VS 2008.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet (endret)

Prøv med en ekstra parantes:

cin.getline(*(pNames + i), 80, '\n'); // Read MAX names into names array

...

cout << *(pNames + i )<< endl;

Andy

Se "order of precedence":

http://en.wikipedia.org/wiki/Operators_in_...ator_precedence

Endret av AndyB
0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!


Start en konto

Logg inn

Har du allerede en konto? Logg inn her.


Logg inn nå

  • Hvem er aktive   0 medlemmer

    Ingen innloggede medlemmer aktive