tablice i heap

0

Witam,

Mam problem ze szkolnym zadaniem z C++, moze ktos bedzie w stanie mi pomoc.

#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
	//inicjacja tablicy
	int* pA = new int [5];
	for (int i = 0; i<4; i++)
	{
		
		int* nA = new int[10];

		pA[i] = *nA; 

	}

	//wypelnienie tablicy

	for (int i = 0; i<5; i++)
	{
		
		for (int j = 0; j<10; j++)
		{
		pA[i] = i*10;
                //pA[j] = j*20 nie dziala
		//jak uzyskac dostep do nA aby wypelnic kolumny???
		
		}

	}
	

	//output tablicy
for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 10; j++)
        cout << pA[i]<< "\t";
 
    cout << endl;
}


	getch();
}

Moje zadanie polega na stworzeniu dwuwymiarowej tablicy w heap zaczynajac od tablicy jednowymiarowej i przy uzyciu petli. Wszystko jest pieknie tylko nie wiem w jaki sposob moge uzyskac dostep do nA (kolumny) aby przypisac im wartosci. Jakies pomysly?

Z gory wielkie dzieki

1

Zmień typ swojej tablicy na int**. Pierwsza linia będzie wtedy wyglądać tak: int** pA = new int*[5]; W pA[i] = *nA; niepotrzebna będzie ta gwiazdka (i w ogóle ta zmienna tymczasowa). pA[i] = i*10; -> pA[i][j] = i*10;.

0

No więc tak. Na początku tworzysz 5 elementową tablice i adres jej początku przypisujesz wskaźnikowi. Później wypełniasz 4 początkowe elementy tej tablicy pierwszym elementem 10 elementowej tablicy stworzonej na stercie. To jest troche bez sensu.

0

Chyba niedokonca wytlumaczylem o co mi chodzi. Koncowa dwuwymiarowa tablica ma miec przypisane wartosci rosnace wraz z indexem tablicy (index wiersza*10) oraz (index kolumny *20)

1 użytkowników online, w tym zalogowanych: 0, gości: 1