Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите отсортировать массив

370
07 ноября 2005 года
koval
443 / / 29.08.2005
1. В вещественной матрице А(nm), переставляя строки и столбцы, поместите наибольший элемент в левом верхнем углу. Помогите отсортировать этот массивю

Распределил динамически память в массив а вот отсортировать его не могу. Помогите PLZ!!!!!!

double **a;
int n,m,i,j;
a=(double **)calloc(m,sizeof(double *));

for (i=0; i<=m; i++)
{
a=(double *)calloc(n,sizeof(double));
}
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
cin>>a[j];
}
2.7K
08 ноября 2005 года
alexeyvnikitin
96 / / 11.10.2004
Видимо, как-то так (первый индекс - строка, второй - номер столбца)

int Maxi = 0, Maxj = 0;
/* По умолчанию, первый элемент - максимальный */
double Max = a[0][0];

/* Ищем позицию максимального */
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
if (a[j] > Max)
{
Max = a[j];
Maxi = i, Maxj = j;
}

/* Если наибольший элемент надо просто поместить
в верхний левый угол, то меняем две строки и
два столбца местами */

double tmp;
// Сначала строки
for (j = 0; j < n; j++)
{
tmp = a[0][j];
a[0][j] = a[Maxi][j];
a[Maxi][j];
}

// Аналогично столбцы
for (i = 0; i < m; i++)
{
tmp = a[0];
a[0] = a[Maxj];
a[Maxj];
}

Если менять можно толко соседние строки/столбцы, меняем в цикле.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог