[C] Funkcja znajdująca element maksymalny w macierzy

Witam. Mam problem z takim oto zadaniem:

Jakby mógł mi ktoś sprawdzić kod i wskazać popełniony błąd to byłbym wdzięczny.

#include 

#include 

#include 

#include 


void wczytajMacierz(int n, int tab[100][100])

{

	int i, j;


	for(i=0; i
		for(j=0; j
		{

			printf("Podaj element tab[%d][%d]: ", i, j);

			scanf("%d", &tab[i][j]);

		}

}


void wypiszMacierz(int n, int tab[100][100])

{

	int i, j;

	for(i=0; i
	{

		for(j=0; j
			printf("%4d", tab[i][j]);

		printf("\n");

	}

}


int max(int tab[], int n)

{

    int max = tab[0];            


	for(int i=1; i
		if(tab[i] > max) 

			max = tab[i];


    return max;

}


int main()

{

	int tab1[100][100];

	int n;


	printf("Podaj wielkosc macierzy: ");

	if(!(scanf("%d", &n)==1 && getchar()=='\n'))

		printf("Zle dane!!");

	printf("\n");


	wczytajMacierz(n, tab1);

	printf("\n");

	wypiszMacierz(n, tab1);

	printf("max=%d", max(n, tab1));



	getch();

	return 0;


}

Nie wgłębiam się w kod, ale w funkcji max używasz jakbyś miał tablicę jednowymiarową :stuck_out_tongue:

int max(int tab[100][100], int n)

{

    int max = tab[100][100];            


	for(int i=1; i
	{

		for(int j=1; j
			if(tab[i][j] > max) 

				max = tab[i][j];

	}


    return max;

}

a coś takiego? – Dodane 08.01.2012 (N) 20:06 – problem rozwiązany:

#include 

#include 

#include 

#include 


void wczytajMacierz(int n, int tab[100][100])

{

	int i, j;


	for(i=0; i
		for(j=0; j
		{

			printf("Podaj element tab[%d][%d]: ", i, j);

			scanf("%d", &tab[i][j]);

		}

}


void wypiszMacierz(int n, int tab[100][100])

{

	int i, j;

	for(i=0; i
	{

		for(j=0; j
			printf("%4d", tab[i][j]);

		printf("\n");

	}

}


int max(int tab[100][100], int n)

{

    int max = tab[100][100];            


	for(int i=1; i
	{

		for(int j=1; j
			if(tab[i][j] > max) 

				max = tab[i][j];

	}


    return max;

}


int main()

{

	int tab1[100][100];

	int n;


	printf("Podaj wielkosc macierzy: ");

	if(!(scanf("%d", &n)==1 && getchar()=='\n'))

		printf("Zle dane!!");

	printf("\n");


	wczytajMacierz(n, tab1);

	printf("\n");

	wypiszMacierz(n, tab1);

	printf("\nmax=%d", max(tab1, n));



	getch();

	return 0;


}

Zrób tak, żeby element macierzy o indeksach 0,0 był największy i sprawdź czy działa :slight_smile: Oczywiście błąd zapewne sam znajdziesz, a jak nie to pomożemy. Postaraj się sam.