Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
1

2-х массив сортировка

09.11.2012, 11:28. Показов 486. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем. люди добрые подскажите пж по такому условию

есть массив:
1 3 4
9 7 6
1 6 1
мах в этом массиве мах1=4, мах2=9, мах3=6 по строчкам

как можно сделать так чтобы максимальная строчка была первой и так по убыванию вниз

максимум по каждой строке уже найден.

C++ (Qt)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream.h>
#include <math.h>
 
int main()
{
int mas[3][3];
int max1=0,n=3,max2=0,max3=0;
int j,i,q=0,q1=0,q2=0;
 
max1=mas[0][0];
max2=mas[1][0];
max3=mas[2][0];
 
 
    for( i = 0; i < n; i++)
    for( j = 0; j < n; j++)
    {
        cout<<"Vvedite massiv - ";
        cin>>mas[i][j];
    }
 
///введенный массив
cout<<"vvedenij massiv"<<endl;
   for( i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<mas[i][j]<<" ";
cout<<"\n";
}
////////////////////////////
   
   
 
 //for( i = 0; i < n; i++)
    for( j = 0; j < n; j++)
    {
if (max1 < mas[0][j])         (max1 = mas[0][j]); 
                                                                                       
if (max2 < mas[1][j])         (max2 = mas[1][j]);                          
if (max3 < mas[2][j])         (max3 = mas[2][j]); 
 
    }           
//вывод мах п строкам     
cout<<" "<<endl;
cout<<max1<<endl;
cout<<" "<<endl;
cout<<max2<<endl;
cout<<" "<<endl;
cout<<max3<<endl;
////////////////////
 
 
 
//вывод массива
   for( i=0;i<n;i++)
{
for( j=0;j<n;j++)
cout<<mas[i][j]<<" ";
cout<<"\n";
   }
////////////////////////////
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2012, 11:28
Ответы с готовыми решениями:

Массив сортировка
Дан массив a. Расположить его элементы в порядке возрастания. Использовать шейкерную (челночную,...

массив сортировка
#include &lt;iostream&gt; using namespace std; int main() { // Ввод массива int const n =...

Двумерный массив - сортировка.
Дано задание по двумерным матрицам: 1)Упорядочить строки целочисленной прямоугольной матрицы по...

Массив,сортировка,файлы.
вообщем надо сформировать динамический массив из вещественных чисел(ввод с клавиатуры),сформировать...

7
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
20.11.2012, 18:44  [ТС] 2
помогите люди добрые.
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
20.11.2012, 18:47 3
Цитата Сообщение от shilovec5377 Посмотреть сообщение
как можно сделать так чтобы максимальная строчка была первой и так по убыванию вниз
то есть сортировка только переставлением строк?
В твоём примере ты ожидаешь результат
1 3 4
1 6 1
9 7 6
верно?
1
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
20.11.2012, 18:50  [ТС] 4
верно, но только наоборот,
9 7 6
1 6 1
1 3 4

по убыванию, чтобы максимум был наверху
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
20.11.2012, 18:52 5
можно пойти "в лоб"
просматриваем матрицу с 0 строки и до последней, выбираем ту, в которой самый большой максимум и меняем её местами со строкой 0. Потом просматриваем все строки с 1 строки и до последней и т.д.
0
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
20.11.2012, 18:54  [ТС] 6
дело в том что матрица неопределенного размера
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
20.11.2012, 18:55 7
Цитата Сообщение от shilovec5377 Посмотреть сообщение
дело в том что матрица неопределенного размера
у Вас в любом случае есть какая-то переменная, константа в которой хранится размер массива
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
20.11.2012, 19:48 8
Цитата Сообщение от shilovec5377 Посмотреть сообщение
max1=mas[0][0]; max2=mas[1][0]; max3=mas[2][0]; for( i = 0; i < n; i++) for( j = 0; j < n; j++) { cout<<"Vvedite massiv - "; cin>>mas[i][j]; }
у тебя даже в этой программе ошибка
сначала инициализируешь максимумы и только потом вводишь массив, нулевые элементы строчек которого, очевидно не равны тому, что присвоилось в max1..3

Добавлено через 12 минут
держи. забавно сделал, через массив указателей, чтобы поэлементно не копировать строки.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 #include <iostream.h>
#include <math.h>
const int n=3;
int main()
{
  int data[n][n];
  int max[n];
  int j,i, tmp;
  int* mas[n];
  int* tmpp;
  
  
  for(i=0; i<n; i++)
     mas[i]=&(data[i][0]);
   for( i = 0; i < n; i++)
    for( j = 0; j < n; j++)
    {
        cout<<"Vvedite massiv - ";
        cin>>mas[i][j];
    }
 
  for(i=0; i<n; i++) 
    max[i]=mas[i][0];
///ââåäåííûé ìàññèâ
cout<<"vvedenij massiv"<<endl;
   for( i=0;i<n;i++)
   {
for(int j=0;j<n;j++)
cout<<mas[i][j]<<" ";
cout<<"\n";
}
////////////////////////////
   
   
 
for( i = 0; i < n; i++){
    for( j = 0; j < n; j++)
             if (max[i] < mas[i][j])   
                   max[i] = mas[i][j]; 
                   
}
//âûâîä ìàõ ï ñòðîêàì 
cout<<"maximums"<<endl;    
cout<<" "<<endl;
cout<<max[0]<<endl;
cout<<" "<<endl;
cout<<max[1]<<endl;
cout<<" "<<endl;
cout<<max[2]<<endl;
for (i=0; i<n-1; i++) 
for (j=0; j<n-1; j++)
if (max[j+1]>max[j]){
                     tmp=max[j+1];
                     max[j+1]=max[j];
                     max[j]=tmp;
                     tmpp=mas[j+1];
                     mas[j+1]=mas[j];
                     mas[j]=tmpp;
                     }
 
 
 
//âûâîä ìàññèâà
   for( i=0;i<n;i++)
{
for( j=0;j<n;j++)
cout<<mas[i][j]<<" ";
cout<<"\n";
   }
   
////////////////////////////
 
}
1
20.11.2012, 19:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2012, 19:48
Помогаю со студенческими работами здесь

Одномерный массив, сортировка
Приветствую! Подскажите, как сформировать массивы X и Y в задании: Заданы массив {bi}; i=1,n. ...

Сортировка обменами (массив)
Помогите с этой задачей пожалуйста Сортировка обменами. Дана последовательность чисел а1, а2, ...,...

Массив Сортировка пузырьком
#include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;iostream&gt; using namespace std; int main() {...

Массив. Сортировка. Ф-ции
:-#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #include &lt;ctime&gt; #define n 11 ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru