Nazwa tablicy jako parametr funkcji

0

Mam takie zadanie:

Napisać funkcję typu void do wypisywania na ekran zawartości tablicy.
Nazwa tablicy i jej rozmiar powinny być podawane jako argumenty funkcji.

Co to znaczy że w parametrze ma się znaleźć nazwa tablicy ??

2

No… To, że chcesz przekazywać tej funkcji tablicę poprzez jej nazwę i długość…

Dla przypomnienia, nazwa tablicy jest też wskaźnikiem na jej pierwszy element. O to Ci chodziło? Bo, prawdę mówiąc, nie rozumiem, czego nie rozumiesz.

0

@Althorion:

aaa czyli dobrze napisałem rozwiązanie ?


#include <iostream>
#include <cstdlib>


int* RandomTable(int len) {

	int* tablica = new int[len];
	srand(time(NULL));

	for (int i = 0; i < len; i++)
	{
		tablica[i] = (rand() % 50) + 7;
	}

	return tablica;
}


void PrintTable(int* pArray, int len) {

	for (int i = 0; i < len; i++)
	{
		std::cout << pArray[i] << std::endl;
	}
}

int main()
{
	int len = 0;

	std::cout << "Podaj dlugosc tablicy: " << std::endl;
	std::cin >> len;

	int* pArr = RandomTable(len);

	PrintTable(pArr, len);
}

5

Tak.

Pewnym czepialstwem, ale nie bezzasadnym, jest to, że długość tablicy lepiej by było jednak przekazywać jako inta bez znaku — w szczególności size_t — ale zrobiłeś co trzeba i jest to rozwiązanie poprawne.

4

Dobrym zwyczajem jest używanie pary new / delete.
Gdyby ta para występowała w jednym bloku instrukcji, to byłoby fajnie.
Gdyby w c++ nie używać new / delete, to byłoby super.

0
rajszym napisał(a):

Gdyby w c++ nie używać new / delete, to byłoby super.

Smart pointers to rozwiązanie by nie używać new/delete.

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