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

Вывод элементов массива в порядке возрастания - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Vivo
23 / 23 / 2
Регистрация: 27.09.2009
Сообщений: 101
04.12.2009, 21:20     Вывод элементов массива в порядке возрастания #1
Здравствуйте. Помогите пожалуйста решить задание. Хоть оно не трудное, но у меня почему-то не получается его реализовать. Задание: Дана вещественная матрица MxN(ввод не надо). Необходимо вывести на печать расположенные в порядке возрастания элементы массива верхней треугольной матрицы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2009, 21:20     Вывод элементов массива в порядке возрастания
Посмотрите здесь:

Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания C++
C++ Вывод элементов массива в обратном порядке
C++ Вывод слов строки в порядке возрастания
Сортировка элементов массива размерности n в порядке возрастания C++
Первые десять элементов массива М(30) отсортировать в порядке возрастания, а остальные в порядке убывания C++
Вывести все четные числа массива в порядке возрастания их индексов, а затем все нечетные в порядке убывания C++
Вывести в порядке возрастания min значение в каждом из 10 элементов массива C++
C++ Расположить чётные числа массива в порядке возрастания, а нечётные в порядке убывания
C++ Ввод чисел в консоль и их вывод в порядке возрастания
C++ Сортировка массива в порядке возрастания и вывод элементов в обратном порядке
Функция раcполагающая строки массива в порядке возрастания суммы их элементов C++
Расположить элементы первой половины одномерного массива в порядке возрастания, а второй - в порядке убывания C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
System.exe
 Аватар для System.exe
90 / 86 / 12
Регистрация: 14.05.2009
Сообщений: 202
05.12.2009, 00:07     Вывод элементов массива в порядке возрастания #2
C
1
2
3
4
5
6
7
8
9
10
for (i=0;i<m;i++)
{
for (j=i+1;j<n;j++)
  if (a[i][j]>a[i+1][j+1]) 
{
x=a[i+1][j+1];
a[i+1][j+1]=a[i][j];
a[i][j]=x
}
else continue;
после окончания цикла делаешь вывод массива. Ну вроде както так. Может нужно будет немного доработать. Но основной код верный.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
05.12.2009, 06:15     Вывод элементов массива в порядке возрастания #3
Vivo, Во-первых верхнетреугольная матрица является квадратной, поэтому размерность ее
не MxN, а NxN.
Ниже приведена реализация сортировки и вывода на экран такой же матрицы, (размерностью 3*3). Вы пишите:
Цитата Сообщение от Vivo Посмотреть сообщение
(ввод не надо)
Значит дальше должны справится сами:
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
#include "iostream.h"
int main()
{
    const int n=3;
    int a[n][n]={6,2,3,0,6,5,0,0,4};
    int i, j, i_temp, j_temp, temp, i1, j1;
    for(i=0; i<n; i++)
    for(i1=0; i1<n; i1++)
    for(j1=i1; j1<n; j1++)
    {
        i_temp=i1;
        j_temp=j1;
    for(i=i1; i<n; i++)
    {
        for(j=i; j<n; j++)
        {
            if((i!=i1 || j1<j) && a[i_temp][j_temp]>a[i][j])
            {
                i_temp=i;
                j_temp=j;
            }
 
        }
    }
    if(i_temp!=i1 || j_temp!=j1)
    {
        temp=a[i1][j1];
        a[i1][j1]=a[i_temp][j_temp];
        a[i_temp][j_temp]=temp;
    }
    }
 
for(i=0; i<n; i++)
{
    for(j=0;j<n; j++)
        cout<<a[i][j]<<" ";
    cout<<endl;
} 
  return 0;
}
Vivo
23 / 23 / 2
Регистрация: 27.09.2009
Сообщений: 101
05.12.2009, 21:56  [ТС]     Вывод элементов массива в порядке возрастания #4
Спасибо за помощь, всё правильно работает, только при выводе надо условие поставить, а то он все элементы выводит.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.12.2009, 08:03     Вывод элементов массива в порядке возрастания #5
Vivo,
а то он все элементы выводит.
Вывод элементов после сортировки на экран:
C++
1
2
3
        for(i=0; i<n; i++)
        for(j=i; j<n; j++)
cout<<a[i][j]<<endl;
Yandex
Объявления
06.12.2009, 08:03     Вывод элементов массива в порядке возрастания
Ответ Создать тему
Опции темы

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