Сортировка Матрицы

Тема в разделе "Java", создана пользователем FCDK, 7 сен 2014.

  1. FCDK

    FCDK New Member

    Регистрация:
    7 сен 2014
    Сообщения:
    1
    Симпатии:
    0
    Такое вот задание. Надо отсортировать матрицу: снизу - вверх - направо, от начала главной диагонали

    Я вот начал делать:
    Код (C++):
    int [][] matr={{9,3,4,4},
    {6,0,6,6},
    {1,8,4,9},
    {6,3,7,8}};

    int q=0,nRow=matr.length-1,nCol=matr.length-1;
    int ar[] = new int [matr.length*matr.length];

    //запись матрицы в массив
    for(int i=0; i<matr.length; i++)
    for(int j=0; j<matr[i].length; j++){
    ar[q]=matr[i][j];
    q++;
    }

    //сортировка массива
    for (int i=0;i<ar.length-1;i++)
    {
    for(int j=i+1;j<ar.length;j++)
    {
    if(ar[j]<ar[i])
    {
    int x=ar[i];
    ar[i]=ar[j];
    ar[j]=x;
    }
    }
    }

    //сортировка матрицы
    matr[0][0]=ar[0];
    int a=1;
    int j=1;
    for(int k=1;k<nRow;k++,a++)
    {
    for(int i=0;i<a;i++)
    {
    matr[k][i]=ar[j];
    j++;
    }
    for(int p=k;p>=0;p--)
    {
    matr[p][a]=ar[j];
    j++;
    }
    }
    return matr;
    Функции записи матрицы в массив и сортировка массива работают правильно.

    А вот сортировка матрицы работает наполовину. Половину сортирует, а половину нет.

    Где тут ошибки?
     
Загрузка...

Поделиться этой страницей