Форум программистов, компьютерный форум CyberForum.ru

Переставить строки матрицы по не убыванию наименьших элементов - C++

Восстановить пароль Регистрация
 
Elovic
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 14
18.03.2013, 23:30     Переставить строки матрицы по не убыванию наименьших элементов #1
Помогите пожалуйста написать программу:
1. Дана вещественная матрица D (7х9). Упорядочить (переставить) строки матрицы по не убыванию наименьших элементов строк
Уже несколько часов провел в попытках, не сообразил.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 23:30     Переставить строки матрицы по не убыванию наименьших элементов
Посмотрите здесь:

C++ Упорядочить строки матрицы по не убыванию наибольших элементов
C++ Найти произведение наименьших элементов каждой строки матрицы и их координаты
Переставить столбцы матрицы по возрастанию элементов первой строки C++
Найти сумму наименьших элементов каждой строки матрицы и их координаты C++
C++ Переставить строки матрицы по возрастанию максимальных элементов каждой строки
C++ .Упорядочить строки матрицы по убыванию значений произведений наименьшего и наибольшего элементов каждой строки
Упорядочить строки матрицы по убыванию сумм элементов строк C++
Расположить строки матрицы по убыванию их последних элементов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 88
19.03.2013, 08:16     Переставить строки матрицы по не убыванию наименьших элементов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
float matr[7][9];
int imin[7];         // массив индексов наименьших элементов строк
float min,a;
int i,j,k,l,ii;
 
for(i=0;i<7;i++)
for(j=0;j<9;j++) matr[i][j]=rand()%100;
 
printf("\n Исходная матрица \n");
for(i=0;i<7;i++){for(j=0;j<9;j++) printf(" %4.2f",matr[i][j]); printf("\n");}
 
//ищем минимальные элементы по строкам
for(i=0;i<7;i++){
min=matr[i][0];
imin[i]=0;
for(j=1;j<9;j++){if( min > matr[i][j] ) min=matr[i][j], imin[i]=j;}
}
 
// сортируем строки исходной матрицы по не убыванию наименьших элементов
for(i=0;i<6;i++)
{
min=matr[i][imin[i]];
l=i;
for(ii=i+1;ii<7;ii++)
{
  if( min > matr[ii][imin[ii]]  ) min=matr[ii][imin[ii]],l=ii;  //запомнили строку с наименьшим элементом
}
 
if( l != i )
{ 
// меняем строки местами-поднимаем строку с мин. элементом на верх
for(j=0;j<9;j++) a=matr[i][j],matr[i][j]=matr[l][j],matr[l][j]=a;
//перестановка в массиве индексов
k=imin[i];imin[i]=imin[l];imin[l]=k;
}
 
}
printf("\n Готовая матрица \n");
for(i=0;i<7;i++)
{
for(j=0;j<9;j++) printf(" %4.2f",matr[i][j]);
printf("\n");
}
Yandex
Объявления
19.03.2013, 08:16     Переставить строки матрицы по не убыванию наименьших элементов
Ответ Создать тему
Опции темы

Текущее время: 16:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru