Inicjalizacja dynamicznej tablicy wielowymiarowej

Inicjalizacja dynamicznej tablicy wielowymiarowej
K1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
Kopiuj
#include <iostream>
using namespace std;
int main()
{
	int t;
	cin >> t;
	
	int** tab = new int*[t];
	for(int i = 0; i < t; i++)
		tab[t] = new int[t];
	
	for(int r = 0; r < t; r++)
		for(int s = 0; s < t; s++)
			tab[r][s] =  r - s;


	
	for(int i = 0; i < t; t++) 
		delete[] tab[t]; 
	delete[] tab;
} 

Program w zasadzie nie robi nic. Tworzy tablicę dwuwymiarową t*t i inicjalizuje ją odejmując kolumnę od wiersza.
Błąd wyskakuje natychmiast po próbie inicjalizacji tab[0][0] "Access violation writing location"

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

tab[i] = new int[t];
delete[] tab[i];

K1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Wow, ale jestem głupi. Dzięki za pomoc, nie wiem jakim cudem udało mi się zrobić coś takiego i nawet nie zauważyć :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.