Сделал,правда без проверок на буквы и без зацикливания.

Нужно ввести матрицу чисел (размерность определяется пользователем)
затем найти в ней самое большое число и переписать матрицу без строки и столбца где содержится это число.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
//inicialization
    int **matrix    = NULL; //ykazatel
    int i           = 0;
    int j           = 0;
    int row         = 0;    //stroka
    int col         = 0;    //stolbec
    int max         = 0;    //maximalnoe 4iclo
    int row_has_max = 0;    //maximalnoe v stroke
    int col_has_max = 0;    //maximalnoe v stolbce

    clrscr;
    fflush(stdin);
    printf("\n-- CO3DAHIE MATRICI ---\n");
    printf("BBEDITE 4ICLO CTPOK: ");
    scanf("%i", &row);
    printf("\nBBEDITE 4ICLO STOLBCOV: ");
    scanf("%i", &col);

    matrix = (int**) malloc(sizeof(int*) * row);
    for(i=0; i<row; i++)
    {
matrix[i] = (int*) malloc(sizeof(int) * col);
    }

    //vvod elementov v matricy
    printf("\n\n--- BBOD MATRICI ---\n");
    for(i=0; i<row; i++)
    {
for(j=0; j<col; j++)
{
    printf("\nELEMEHT[%i,%i] = ", i, j);
    scanf("%i", &matrix[i][j]);
}
    }

    printf("\n\n-- First matrix: ---\n");
    for(i=0; i<row; i++)
    {
for(j=0; j<col; j++)
{
    printf("%i\t", matrix[i][j]);
}
printf("\n");
    }

    for(i=0; i<row; i++)
    {

for(j=0; j<col; j++)
{
    if(max < matrix[i][j])
    {
    max = matrix[i][j];
    row_has_max = i;
    col_has_max = j;
    }
}
    }

    //perepisivaem matricy bez naibolshego elementa
    printf("\n\n-- Second matrix: ---\n");
    for(i=0; i<row; i++)
    {
for(j=0; j<col; j++)
{
    if((i != row_has_max) && (j != col_has_max))
    {
    printf("%i\t", matrix[i][j]);
    }
}
if((i != row_has_max) && (j != col_has_max)) printf("\n");
    }

    for(i=0; i<row; i++)
    free(matrix[i]); //clear memory
    free(matrix);
    getch ();
    return 0;
}

В первую очередь выкладываю для Солодухи и Островского,у них тот же вариант