Prosba o korekte w zapisywaniu do tablicy

0

Witajcie

Mam problem, a mianowicie zacialem sie w momencie kiedy chce zapisac liczby do tablicy dynamicznej 2 wymiarowej w funkcji. Proszę o pomoc w korekcji tego błędu. Wiem ze blad jest w linijce "scanf("%d",....Tutaj) ale pogubiłem się jak to powinno się zapisać.
Proszę o pomoc

#include <stdio.h>
#include <stdlib.h>

void zapelnianie(int **tablica,int a,int b)
{
	int i,j;

	for(i=0;i<a;i++)
	{
		for(j=0;j<b;j++)
		{
			scanf("%d",&(*(tablica*a+b)));
		}
	}

}

int main()
{
	int a,b;

	printf("Podaj wymiary twojej tablicy 2 wymiarowej:");
	scanf("%d %d",&a,&b);
	int **tablica = new int* [a];	//wzkaznik na wzkazniki ktore wzkazuja na konkretne tablice jednowymiarowe.

	for(int i=0;i<a;i++)
	{
		tablica[i]=new int[b];
	}	
	printf("Teraz podaj liczby do tablicy:\n");
	zapelnianie(tablica,a,b);

	return 0;
} 
0

Błąd jest tutaj " scanf("%d",&((tablicaa+b)));", więc proszę nie piszcie ze źle to napisałem bo wiem ze jest źle.

0

&tablica[i][j] albo *(tablica+i)+j
btw jaki jest sens robić &*?

0
&(*(tablica*a+b))

Naprawde, wskaznik mnozony przez 4? To nie ma szans sie skompilowac (taka mam przynajmniej nadzieje). Prawidlowe odwolanie to:

&tablica[a][b]
// albo
tablica[a] + b
// albo
*(tablica + a) + b
// albo inne, jeszcze bardziej poryte zabawy na wskaznikach, w kazdym razie - wskaznikow nie mozna mnozyc!
0

Dziekuje za pomoc.

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