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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Vivo
23 / 23 / 2
Регистрация: 27.09.2009
Сообщений: 101
#1

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

04.12.2009, 21:20. Просмотров 1866. Ответов 4
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста решить задание. Хоть оно не трудное, но у меня почему-то не получается его реализовать. Задание: Дана вещественная матрица MxN(ввод не надо). Необходимо вывести на печать расположенные в порядке возрастания элементы массива верхней треугольной матрицы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2009, 21:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод элементов массива в порядке возрастания (C++):

Сортировка массива в порядке возрастания и вывод элементов в обратном порядке - C++
нашла на форуме пару примеров, но они не полные и не запускаются, выбрала из них более менее подходящий, дальше было много вариантов но не...

Первые десять элементов массива М(30) отсортировать в порядке возрастания, а остальные в порядке убывания - C++
Привет. Первые десять элементов массива М(30) отсортировать в порядке возрастания, а остальные в порядке убывания. Вот тут я сделал массив...

Сортировка элементов массива размерности n в порядке возрастания - C++
1). Разработать функцию для сортировки элементов одномерного целочисленного массива размерности n в порядке возрастания. С использованием...

Функция раcполагающая строки массива в порядке возрастания суммы их элементов - C++
Нужно написать функцию которая раcполагает строки массива в порядке возрастания суммы их елементов . long min_ryad2(int **ar, unsigned...

Вывести в порядке возрастания min значение в каждом из 10 элементов массива - C++
Создать массив из 100 значений (rand) 1)Вывести в порядке возрастания min значение в каждом из 10 элементов массива 2)вычислить среднее...

Расположить чётные числа массива в порядке возрастания, а нечётные в порядке убывания - C++
Требуется расположить чётные числа в порядке возрастания, а не чётные в порядке убывания. Относительного расположения чисел не менять. С...

4
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;
после окончания цикла делаешь вывод массива. Ну вроде както так. Может нужно будет немного доработать. Но основной код верный.
0
valeriikozlov
Эксперт С++
4681 / 2507 / 322
Регистрация: 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;
}
0
Vivo
23 / 23 / 2
Регистрация: 27.09.2009
Сообщений: 101
05.12.2009, 21:56  [ТС] #4
Спасибо за помощь, всё правильно работает, только при выводе надо условие поставить, а то он все элементы выводит.
0
valeriikozlov
Эксперт С++
4681 / 2507 / 322
Регистрация: 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;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2009, 08:03
Привет! Вот еще темы с ответами:

Расположить элементы первой половины одномерного массива в порядке возрастания, а второй - в порядке убывания - C++
Нужно расположить элементы первой половины одномерного массива в порядке возрастания, а второй половины массива в порядке убывания. Данная...

Вывод элементов массива в обратном порядке - C++
Дайте подсказку как вывести элементы массива наоборот, я уже всю голову поломал,ну хоть намекните. #include &lt;windows.h&gt; #include...

Вывод слов строки в порядке возрастания - C++
Здравствуйте. Нужно ввести с строку, где слова разделены пробелом. Затем расположить слова исходной строки в порядке возрастания. ...

Ввод чисел в консоль и их вывод в порядке возрастания - C++
Имеется ряд любых чисел, причем чисел может быть любое количество. Эти числа вводят в консоль, разделяя пробелом, например:11 23 34 12 45...


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

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

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