» »

C++ Matrika celih števil-POMOČ

C++ Matrika celih števil-POMOČ

davx ::

Pozdravljeni!

Prosil bi za pomoč pri matriki za celih 5*5 števil.V njo vnašamo naključna števila.Funkcija ki poišče vrstico v kateri je vsota elementov največja in funkcija ki poišče stolpec v katerem je vsota elementov največja.Na koncu pa še glavni program ki preveri moji funkciji.Za pomoč se vam vnaprej zahvaljujem!

genesiss ::

Zanke in predstavitev tabel v pomnilniku (pointerji).

http://www.fredosaurus.com/notes-cpp/ar...

Zgodovina sprememb…

  • spremenil: genesiss ()

davx ::

genesis

to že vem smo iščem funkciji ki mi delata probleme:'(

genesiss ::

Kako misliš iščeš funkciji?

Ti moraš napisati dve funkciji ki za argument sprejmeta matriko (oz. pointer na matriko ;) in vrneta indeks vrstice in indeks stolpca (int). Znotraj teh funkcij se moraš sprehodit čez vse elemente in jih seštevati, ter hraniti indeks z največjo vsoto.

Zgodovina sprememb…

  • spremenil: genesiss ()

Tutankhamun ::

Nekak tko, kodo da zafilaš matriko pa vrjetn maš, glede na to da ne sprašuješ po njej. Drgač pa načinov kako narest je več. Mal sm pa zakompliciru :P. Tko da lahk popravš al pa zamenaš če ti kej ni ušeč. So ble pa take naloge že rešene tuki gor.....

int Sum (int *arr, int offset, int count, int increment = 1)
{
	int sum = 0;
	for (int i = 0; i < count; i++)
		sum += *(arr + offset + i*increment);

	return sum;
}

int RowIndex (int *arr, int cols, int rows)
{
	int rowIndex = 0;
	int highestRowSum = 0;
	int tmpSum;

	for (int row = 0; row < rows; row++)
	{
		tmpSum = Sum(arr, row*cols, cols);
		
		if (tmpSum > highestRowSum)
		{
			rowIndex = row;
			highestRowSum = tmpSum;
		}
	}

	return rowIndex;
}

int ColIndex (int *arr, int cols, int rows)
{
	int colIndex = 0;
	int highestColSum = 0;
	int tmpSum;

	for (int col = 0; col < cols; col++)
	{
		tmpSum = Sum(arr, col, rows, cols);

		if (tmpSum > highestColSum)
		{
			colIndex = col;
			highestColSum = tmpSum;
		}
	}

	return colIndex;
}

int _tmain (int argc, TCHAR* argv[])
{
	const int MAX_COLS = 4;
	const int MAX_ROWS = 4;

	int arr[MAX_ROWS][MAX_COLS] = { {1,2,7,4},
					{2,5,4,3},
					{2,5,9,3},
					{1,2,1,43}
				      };
	
	for (int r = 0; r < MAX_ROWS; r++)
	{
		for (int c = 0; c < MAX_COLS; c++)
			cout << arr[r][c];
		cout << endl;
	}

	cout << "Row Index: " << RowIndex (&arr[0][0], MAX_COLS, MAX_ROWS) << endl <<
		"Col Index: " << ColIndex (&arr[0][0], MAX_COLS, MAX_ROWS) << endl;
		
	return 0;
}
AMD Phenom QUAD 9950 Black Edition, 8GB

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] - Spreminjanje programa s pointerji

Oddelek: Programiranje
61189 (941) DaMachk
»

[C#] Domača naloga - osnove

Oddelek: Programiranje
372511 (1728) 11tomi12
»

c# QuadTree Indexing

Oddelek: Programiranje
7861 (683) RobertDev
»

c# datagridview in combox

Oddelek: Programiranje
131219 (1107) OmegaM
»

Java - Se da "refrešat" tabelo?

Oddelek: Programiranje
5981 (852) Kovalchuk

Več podobnih tem