Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
#1

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

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

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

есть массив:
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 11:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 2-х массив сортировка (C++):

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

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

Сортировка массив с++ по заданию - C++
Всем привет! нужно сделать сортировку масива 1) по убыванию 2)пузырьком 3)внешний и внутренний цикл do while наброски помогите...

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

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

Сортировка (двумерный массив) - C++
Найдите строку с максимальным элементом массива и поменяйте её местами с главной диагональю.

7
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
20.11.2012, 18:44  [ТС] #2
помогите люди добрые.
0
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,266
Записей в блоге: 1
20.11.2012, 18:47 #3
Цитата Сообщение от shilovec5377 Посмотреть сообщение
как можно сделать так чтобы максимальная строчка была первой и так по убыванию вниз
то есть сортировка только переставлением строк?
В твоём примере ты ожидаешь результат
1 3 4
1 6 1
9 7 6
верно?
1
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
20.11.2012, 18:50  [ТС] #4
верно, но только наоборот,
9 7 6
1 6 1
1 3 4

по убыванию, чтобы максимум был наверху
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
20.11.2012, 18:52 #5
можно пойти "в лоб"
просматриваем матрицу с 0 строки и до последней, выбираем ту, в которой самый большой максимум и меняем её местами со строкой 0. Потом просматриваем все строки с 1 строки и до последней и т.д.
0
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
20.11.2012, 18:54  [ТС] #6
дело в том что матрица неопределенного размера
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
20.11.2012, 18:55 #7
Цитата Сообщение от shilovec5377 Посмотреть сообщение
дело в том что матрица неопределенного размера
у Вас в любом случае есть какая-то переменная, константа в которой хранится размер массива
0
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,266
Записей в блоге: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 19:48
Привет! Вот еще темы с ответами:

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

Динамический массив, сортировка - C++
Помогите пожалуйста написать программу: Ввести массив из 12 целых чисел в StringGrid, создать новый массив из чисел, которые делятся на 3,...

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru