Czy ktoś może wie co trzeba dopisać, żeby wyliczyło wartość maksymalną w każdej kolumnie. Podejrzewam, że trzeba to uzależnić od nr kolumny, ale nie wiem jak to napisać.
Treść zadania jest taka:
Napisz program, który wypełni dwuwymiarową tablicę liczb całkowitych t[N][M] losowymi wartościami z przedziału podanego przez użytkownika, wypisze ją na ekran (każdy wiersz w nowej linii), a następnie znajdzie i wyświetli numer kolumny w której znajduje się element maksymalny tablicy. Jeśli wartość tego elementu powtarza się, program powinien wyświetlić numer ostatniej kolumny.
#include <stdio.h>
#include <stdlib.h>
#define N 3
#define M 3
int main()
{
int i, j, tab[N][M];
int max=0;
printf("Podaj wartosci tablicy\n");
for (i=0; i<N; ++i)
{
for (j=0; j<M; ++j)
{
scanf("%d", &tab[i][j]);
}
}
printf("\n");
for (i=0; i<N; ++i)
{
for (j=0; j<M; ++j)
{
printf("%d", tab[i][j]);
}
printf("\n");
}
for (j=0; i=j<N; ++j)
{
for (j=i=0; i<M; ++i)
{
if(tab[i][j]>max)
{
max=tab[i][j];
}
}
}
return 0;
}
0
0
W ostatniej parze forów dodałem wyświetlenie oraz zerowanie max-a i chyba działa. Na przyszłość dawaj tam albo i albo j nie oba naraz. Zmienne i oraz j powinny też być deklarowane raczej w ten sposób for (int j=0; j<N; ++j), nie w main-ie.
#include <stdio.h>
#include <stdlib.h>
#define N 3
#define M 3
int main()
{
int i, j, tab[N][M];
int max=0;
printf("Podaj wartosci tablicy\n");
for (i=0; i<N; ++i)
{
for (j=0; j<M; ++j)
{
scanf("%d", &tab[i][j]);
}
}
printf("\n");
for (i=0; i<N; ++i)
{
for (j=0; j<M; ++j)
{
printf("%d", tab[i][j]);
}
printf("\n");
}
for (j=0; j<N; ++j)
{
for (i=0; i<M; ++i)
{
if(tab[i][j]>max)
{
max=tab[i][j];
}
}
printf("%d", max, "\n");
max = 0;
}
return 0;
}