Ну во-первых
max=max; - вообще убило.
Компилятор Dev-Cpp
Код:
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#define N 4
#define B 6
int main()
{
int i,
j,
Array[N][B];
int max;
//заполнение
for (i=0;i<N;i++)
{
printf("\n ----------------------------------\n");
for (j=0;j<B;j++)
{
Array[i][j]= -10+rand()%20;
printf("%4d |", Array[i][j]);
}
}
//нахождение максимальных
printf("\n ----------------------------------\n");
for (i=0;i<N;i++)
{
max=Array[i][0];
for (j=0;j<6;j++)
{
if(Array[i][j]>max)
max=Array[i][j];
}
printf("\nmax in %d-row: %d",i+1,max);
}
//первый положительный
int pos=0;
for(i=0;i<N;i++)
{
for(j=0;j<B;j++)
if (Array[i][j]>0)
{
printf("\n1-st positive element: %d (%d-row; %d-col)",Array[i][j],i+1,j+1);
pos=1;
break;
}
if(pos==1)
break;
}
getch();
}
При желании поиск максимальных можно внести в цикл заполнения.
Для целочисленных не надо писать %3.1d, так как часть .1 - не имеет смысла.
Собственно, код рабочий, но "на скорую руку".