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

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

Восстановить пароль Регистрация
 
sanchez752
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 21
26.12.2010, 15:54     Упорядочить строки массива в порядке возрастания значения элемента #1
делаю курсовик и по одному из последних заданий нужно написать алгоритм, который должен упорядочить информацию (заданную построчно) о некоторых точках по возрастанию значения r
массив выглядит где-то так..
D2

N2 N1 N x y r
1 2 3 3 6 2
5 3 4 2 3 9
4 6 4 7 8 5
и тд
не заменяя массив
помогите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 15:54     Упорядочить строки массива в порядке возрастания значения элемента
Посмотрите здесь:

Упорядочить массив А в порядке возрастания его элементов C++
Упорядочить цифры в порядке возрастания/убывания C++
C++ Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов
C++ Упорядочить слова в порядке возрастания их длины
C++ Упорядочить файл в порядке возрастания числового поля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
26.12.2010, 16:18     Упорядочить строки массива в порядке возрастания значения элемента #2
берёшь multimap и делаешь r-ключ а индекс строки - значение он отсортирует и через одномерный массив построчно перекладывай
sanchez752
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 21
26.12.2010, 17:57  [ТС]     Упорядочить строки массива в порядке возрастания значения элемента #3
igorrr37
мне нужно все расписать как можно проще, используя самые начальные знания
abyr
4 / 4 / 1
Регистрация: 23.12.2010
Сообщений: 27
26.12.2010, 19:22     Упорядочить строки массива в порядке возрастания значения элемента #4
я чо то не совсем понял задание, но у меня есть прога которая создает случайный массив и сортирует его по-строчно по первому столбцу на убывание. думаю можно переделать её под тебя
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
#include <cstdlib>
#include <time.h>
#include <iostream>
#include <iomanip>
using namespace std;
 
int main(int argc, char** argv) {
    srand( time( NULL ) );
    int a[8][10], y[8], b, j;
    cout << "\nИсходный массив - \n";
    for ( int i = 0; i < 8; i++ ) {
        cout << "\n";
        for ( int j = 0; j < 10; j++ ) {
            a[i][j] = rand()%100 - rand()%100;          //создаем массив, используя случайные числа от -100 до 100
            cout << setw(4) << a[i][j] << " ";          //контрольный вывод исходного массива
            y[i] = a[i][0];                             //записываем элементы первого столбеца в одномерный массив
        }
    }    
    for ( int i = 1; i < 8; y[j+1] = b, i++ ) {
        for ( b = y[i], j = i - 1; ( j > -1 && b > y[j] ); y[j+1] = y[j], j-- );   //сортировка одномерного массива методом вставки
    }
    cout << "\n\nОтсортированный массив - \n\n";
    for (int j = 0; j < 8; j++) {
        for (int i = 0; i < 8; i++) {            
            if ( y[j] == a[i][0] ) {
                for ( int k = 0; k < 10; k++ ) {
                    cout << setw(4) << a[i][k] << " ";    //вывод отсортированного массива
                    a[i][0] = 101;
                }
                cout << "\n";
            }            
        }
    }
}
sanchez752
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 21
26.12.2010, 19:27  [ТС]     Упорядочить строки массива в порядке возрастания значения элемента #5
abyr
в целом смысл понял
спасибо)
sanchez752
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 21
26.12.2010, 20:18  [ТС]     Упорядочить строки массива в порядке возрастания значения элемента #6
написал нечто подобное но не пашет
прога по циклу находит минимальный элемент в массиве начиная с номера m(начиная с m=0, после каждого цикла m++, а значение минимального элемента ставиться на D[m]

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
#include<stdio.h>
#include<conio.h>
void main()
{
 
int l, m, p=10, w, D[40], min=10000, x;
for(l=0; l<p; l++)
{
    printf("D[l]=", D[l]);
   scanf("%d", &D[l]);
}
for(m=0; m<p; m++)
{
   for(l=m; l<p; l++)
   {
    if(D[l]<min)
      {
        min=D[l];
         x=l;
      }
   }
   w=D[m];
   D[m]=D[l];
   D[x]=w;
}
for(l=0;l<p;l++)
{
    printf("%d", D[l]);
   printf("\n");
}
getch();
}
Yandex
Объявления
26.12.2010, 20:18     Упорядочить строки массива в порядке возрастания значения элемента
Ответ Создать тему
Опции темы

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